Angular2管理嵌套订阅

时间:2016-07-06 12:23:08

标签: typescript angular

我在angular2(ts)中有以下代码框架:

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}在callService2.subscribe之前完成a.subscribe

1 个答案:

答案 0 :(得分:0)

订阅不按照它们在您的代码中出现的顺序运行。当Service1有一些数据时,“callService1”和“b subscribe callService1”运行。 “callService2”在Service2有一些数据之前不会运行。