Javascript 切换可观察的流,然后逐个获取订阅
我有一个可观察到的URL,我正在Javascript 切换可观察的流,然后逐个获取订阅,javascript,angular,rxjs,Javascript,Angular,Rxjs,我有一个可观察到的URL,我正在将它切换到getRows(),它返回一个可观察到的URL参数从API中提取数据。我希望能够为getRows()所做的每一次发射获取订阅引用。这是为了在UI上显示加载指示器 当前代码: this.tableSource = this.urlParamService.getParameterGroup(this.parameterPrefix) .distinctUntilChanged() .map(p => this.getRows(p))
将它切换到getRows()
,它返回一个可观察到的URL参数从API中提取数据。我希望能够为getRows()
所做的每一次发射获取订阅引用。这是为了在UI上显示加载指示器
当前代码:
this.tableSource = this.urlParamService.getParameterGroup(this.parameterPrefix)
.distinctUntilChanged()
.map(p => this.getRows(p))
.switch()
.share();
然后当我更改了我调用的参数时:
this.tableLoad = this.tableSource.take(1).subscribe((r) => this.rows = this.parseRows(r));
但是我想在外部实体操纵URL时启用组件更新,因此我应该订阅而不是共享tableSource
,那么每次调用getRows()
,我如何才能获得订阅呢?我设法用这种方法解决了这个问题:
this.urlParamService.getParameterGroup(this.parameterPrefix)
.distinctUntilChanged()
.do(p => {
this.tableLoad = this.getRows(p).subscribe((r) => this.rows = this.parseRows(r));
})
.subscribe();
因此,我不再尝试将两个可观察序列作为一个使用(即使其中一个依赖于另一个),而只是将第二个作为第一个序列的副作用