说我有两个观测值obs1
和obs2
。
obs1.subscribe(res => { //do stuff with output1});
obs2.subscribe(res => { //do stuff with output2});
仅在完成obs2
后,我才想订阅obs1
。我知道的唯一方法是丑陋的:
obs1.pipe(finalize(() => {
obs2.subscribe(res => { //do stuff with output2});
})).subscribe(res => {//do stuff with output1})
有没有更优雅的方式?添加第三个obs3
将使代码很难阅读。
编辑: 从以前的答案来看,我不清楚如何从单个可观测数据中获取数据。以下代码正是我想要的:
concat(
obs1.pipe(tap( res => console.log(res))),
obs2.pipe(tap( res => console.log(res)))
).subscribe()
以前的答案是:
concat(obs1, obs2).subscribe(res => console.log(res))
,但是在这种情况下,最终响应将obs1
和obs2
的响应合并在一起,而我不知道如何将其分开。