2016-08-02 14 views
0

で購読は、私は次のログのコードを持っているangular2

a() { 
    b().then(() => { 
    console.log("foo2") 
    }) 
} 

b() { 
    return webServiceCall().do(() => { 
     webServiceCall2().subscribe(() => { 
     console.log("foo1")  
     }) 
    }) 
} 

私は私のfoo1が私のfoo2の前に表示されていることを確認してくださいしたいと思います。

どうすればこの問題を解決できますか?ありがとう!

答えて

1

foo1foo2の前に表示されることが確認できます。

webServiceCall1webServiceCall2事項のご注文いただいた場合:

b() { 
    return webServiceCall1().then(() => { 
     return webServiceCall2().then(() => { 
      console.log("foo1") 
     }) 
    }) 
} 

webServiceCall1webServiceCall2の順序は、重要ではObservable.forkJoinを使用しない場合は、次の

b() { 
    return Observable.forkJoin(webServiceCall1,webServiceCall2).toPromise().then(() => { 
     console.log("foo1"); 
    }); 
} 
+0

のが私の内部に存在するにも、私はwebServiceCall3を持っているとしましょうwebServiceCall1(webServiceCall2の直後に呼び出されています)し、同じ方法でwebServiceCall2の内部に移動する必要がありますか?それは実際にすべてを逐次的にします。 – Scipion

+0

私の編集 – Christoph

+0

ブリリアントを見てみましょう、しかし、forkJoinは2つ以上のパラメータを取ることができますか?私がwebServiceCall3を持っているかのように、私はforkJoin(wSC1、wSC2、wSC3)を実行できますか? – Scipion

関連する問題