Angular2管理嵌套订阅
问题描述:
我在angular2下面的代码框架(TS):Angular2管理嵌套订阅
a() {
return callService1.do(
z => {
callService2.subscribe(y => console.log("a callService2"))
console.log("callService1")
}
)
}
b() {
a.subscribe(
x => console.log("b subscribe callService1")
)
}
结果,我有:
"callService1"
"b subscribe callService1"
"a callService2"
我真的已经预计有"a callService2"
前"b subscribe callService1"
,我不确定明白这个结果。在b()中我的a.subscribe
之前完成callService2.subscribe
可以做些什么?
答
订阅不按它们在您的代码中出现的顺序运行。当Service1有一些数据时,运行“callService1”和“b subscribe callService1”。 “ServiceService2”将不会运行,直到Service2有一些数据。