【发布时间】:2019-09-09 21:22:16
【问题描述】:
我需要按顺序运行两个可观察对象并仅返回第一个可观察对象的结果。第二个 observable 需要在运行前完成第一个。
我找到了解决方法,但我并不满意。你可以在这里测试它:plunker test
const first = Observable.of(10).delay(1000).do(res => console.log('first'));
const second = Observable.of(20).do(res => console.log('second'));
console.log('start');
const test = first.concatMap(ev => second.map(x=> ev)).subscribe(res =>
console.log(res));
我认为(我希望!)存在更好的解决方案,但我找不到。 提前感谢您的帮助。
【问题讨论】:
-
我认为没有比这更好的方法了。唯一的改进可能是使用
ev => second.mapTo(ev)使其更加明显。
标签: angular rxjs observable sequential