我有以下代码记录:"foo1"
然后a() {
b().then(() => {
console.log("foo2")
})
}
b() {
return webServiceCall().do(() => {
webServiceCall2().subscribe(() => {
console.log("foo1")
})
})
}
:
foo1
我想确保我的foo2
出现在{{1}}之前。
我该如何解决这个问题?谢谢!
答案 0 :(得分:1)
如果您使用链式承诺,则可以确保foo1
出现在foo2
之前。
如果webServiceCall1
和webServiceCall2
的顺序很重要:
b() {
return webServiceCall1().then(() => {
return webServiceCall2().then(() => {
console.log("foo1")
})
})
}
如果webServiceCall1
和webServiceCall2
的顺序无关紧要,请使用Observable.forkJoin:
b() {
return Observable.forkJoin(webServiceCall1,webServiceCall2).toPromise().then(() => {
console.log("foo1");
});
}