【发布时间】:2018-08-17 06:58:55
【问题描述】:
我有两个不同类型的 Observable,我想做的是等待它们至少发射一次,然后以某种方式立即返回一个带有另一种返回类型的第三个 Observable 的承诺。
现在我有这个:
return Observable.forkJoin([$A, $B])
.do(() => {
return $C;
})
.toPromise()
.then(result => result);
$A 是 Observable<AType>,$B 是 Observable<BType>,但我不在乎这些结果是什么,我只想知道它们何时完成。 然后我想返回一个toPromise 的$C,这将是一个Promise<CType>。
由于某种原因这不起作用,我认为它返回了 Promise<Void[]> 或 Observable<Void[][]> 或类似的东西,但我不确定如何调试它。但我认为我的想法是正确的,因为 forkJoin 似乎在“订阅”/执行前两个承诺,然后我可以看到它正在等待两者来解决它只是返回类型是错误的我想想。
【问题讨论】:
-
.do不返回任何内容——它只是为了利用可观察的流。我想你可能只想.map
标签: typescript rxjs reactive-programming