2017-12-29 55 views
-1

私は観測値の配列を作成しています。角度2の観測可能な配列の順序

for (let i = 0; i < userinput.length; ++i) { 
 
     const data = this.transformData(userinput[i]); 
 
     observableBatch.push(this.http.post(this.submitApi, data, requestOptions).map(dataresponnse => dataresponnse.json() ,err => console.error(err)) 
 
      .catch(error => Observable.of(error))); 
 
     } 
 
     return Observable.forkjoin(observableBatch);
コードが正常に動作します.But配列の順序が正しい.Iない最後のHTTP POSTの結果を取得したいが、私は(配列に)最後のインデックスを押すと、 http投稿は予測できません。これを達成する方法はありますか?

答えて

0

Destructure配列そのあなたが一つforkJoin 1にパラメータを渡しているようにように:返されたマップされた値があるべき

return Observable.forkJoin(obs1, obs2, obs3, obs4, etc); 

return Observable.forkJoin(...observableBatch); 

たとえば、これはに相当結果が渡されたのと同じ順序の配列:

observable.subscribe(t=> { console.log(t[0]) /*res1*/, 
          console.log(t[1]) /*res2*/, 
          console.log(t[2]) /*res3*/, 
          console.log(t[3]) /*res4*/, 
          etc... }) 
0

Iプッシュを使用してnsteadは、あなたが不自由を使用することができます。 最後のhttpポストコールデータを最初のインデックスに追加します。 最後のhttp投稿のインデックスを簡単に予測できます。

関連する問題