【发布时间】:2017-09-06 06:53:28
【问题描述】:
我正在从 Promise 世界转移到 Observable 世界。我通常用 Promise 做的一件事就是把一系列任务串联起来,让它们按顺序运行。例如,我有三个任务:printLog1() 打印 1 到控制台,printLog23() 打印 2 和 3 到控制台,printLog4() 打印 4。
当我想打印 1-2-3-4 时,我会写一个类似的承诺链
printLog1()
.then(() => {
printLog23();
})
.then(() => {
printLog4();
});
现在我想要与 Observable 相同的功能,我可以将 printLog() 函数重写为 Observable 之类的
printLog1 = Rx.Observabale.of(1).map((i) => console.log(i));
printLog23 = Rx.Observabale.of(2, 3).map((i) => console.log(i));
printLog4 = Rx.Observabale.of(4).map((i) => console.log(i));
然后我有三个向控制台发出不同值的可观察对象。我如何链接它们,以便这三个可观察对象按顺序运行并打印1-2-3-4?
【问题讨论】: