加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angular – 当使用RxJS observables在可观察的返回后采取行动时,

发布时间:2020-12-17 10:34:14 所属栏目:安全 来源:网络整理
导读:我没有看到关于做什么和最后在RxJS之间有什么区别的非常好的文档.我的目标是仅在Observable返回数据时才采取行动,但看起来他们都会对失败采取行动. do表示“为observable中的每个元素调用一个动作 序列并在优雅或异常时调用动作 终止可观察序列.“ observabl
我没有看到关于做什么和最后在RxJS之间有什么区别的非常好的文档.我的目标是仅在Observable返回数据时才采取行动,但看起来他们都会对失败采取行动.

> do表示“为observable中的每个元素调用一个动作
序列并在优雅或异常时调用动作
终止可观察序列.“

observable可能返回多个元素?

>最后说“调用一个
源可观察序列终止后的指定操作
优雅地或特殊地“.

我希望有人能解释一下
重要的是使用或是否有更好的替代方法.

getData(choice): void {
        this.dataService.getTableData(choice,'mainCalls.php')
            .do( () => this.defineWidth() )
            .subscribe(tableData => this.tableData = tableData,err => {
                    console.log(err);
                }
            );
    }

    ngOnInit() {
        this.getData('getTableData');
    }

defineWidth是一个依赖于Observable返回的数据的函数.我愿意接受建议并阅读有关替代方法的材料,以实现我想要的目标.

为每个普通事件调用do(),不修改数据流.它仅用于副作用.

finally()在最后一个事件之后或在发生错误之后被调用(如果有的话).无论是成功还是失败,都会调用一次.

如果this.defineWidth()依赖于this.tableData而不是你不需要做或最后.只需在为this.tableData分配响应的行之后添加调用:

getData(choice): void {
    this.dataService.getTableData(choice,'mainCalls.php')
        .subscribe(tableData => {
           this.tableData = tableData;
           this.defineWidth();
         }),err => {
           console.log(err);
         }
    );
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读