2017-06-29 6 views
0

私は順番に配列からサーバーにデータを送信します。次の各ディスパッチは、前回の要求が完了した後に呼び出される必要があります。 RxJSを使ってどのように実装できますか?RxJSを使用してステップバイステップの非同期プロセスを実装する方法は?

P.S.それは角度4のアプリケーションです。

+1

使用「flatMap()」 – CozyAzure

+1

いくつかのコードを追加できますか? どのエラーが発生しましたか –

+0

これはすでにここで詳しく説明されています:https://stackoverflow.com/documentation/rxjs/8247/common-recipes/28035/sending-multiple-sequential-http-requests#t=201706291652523651924 – martin

答えて

0

Observablesをチェーンしたい場合は、.flatMap()を使用してください。それはPromise

.then()と同じだがfirstRequest()secondRequest()thirdRequest()と呼ばれる、あなたはあなたのサービスで3つのHTTP呼び出し機能を持っていると仮定します。あなたはこのようにチェーンすることができます

myService.firstRequest() 
    .flatMap(result1 => { 
     //do something with result1 from firstRequest 
     return myService.secondRequest(result1) 
      .flatMap(result2 => { 
       //do something with result2 from secondRequest 
       return myService.thirdRequest(result2); 
      }); 
    }) 
    .subscribe(result3 => { 
     //finally do something with your result3 that is from thirdRequest 
    }); 
関連する問題