【发布时间】:2019-05-15 13:05:43
【问题描述】:
我的软件中有几个案例,其中我有一组可观察对象,我需要按顺序执行它们。只有在上一个订阅完成后才会进行下一个订阅。
所以我使用concat 运算符。它工作得很好,但是每次Observables 之一完成时都会触发它的订阅,我需要只有在一切完成后才触发它。
concat(
of(1, 2, 3).pipe(delay(3000)),
// after 3s, the first observable will complete and subsquent observable subscribed with values emitted
of(4, 5, 6).pipe(delay(3000)),
)
// log: 1,2,3,4,5,6
.subscribe((v) => {
// Needs to be triggered once after everything is complete
console.log(v);
});
我需要一种方法来管道这个 observable,这样订阅只会在一切完成后触发一次,在这种情况下,订阅的值并不重要,因此可以省略。
如果可能,这些值可以在订阅上下文中以数组的形式提供。
【问题讨论】:
-
这可能会有所帮助:stackoverflow.com/questions/41734921/….
标签: javascript rxjs observable