2017-12-29 30 views
-1

나는 observables의 배열을 만들고 있습니다.각도 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);
코드는 .I 마지막 HTTP 포스트의 결과를 얻을 대상이 수정되지 않은 배열의 순서를 나누었다 잘 작동하지만 난 (배열에) 마지막의 인덱스를 누르면 http 게시는 예측할 수 없습니다.이 방법을 활용할 방법이 있습니까? 배열 Destructure

답변

0

그래서 당신은 하나 forkJoin 하나에 매개 변수를 전달하는 것처럼 그 것을 예를 들면 다음과 같습니다

return Observable.forkJoin(...observableBatch); 

, 이것은 동일합니다 : 매핑 된 값이 있어야합니다 반환

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

건네받은 순서와 같은 결과를 가지는 배열 :

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는 unshift를 사용할 수 있습니다. 마지막 http 포스트 콜 데이터를 첫 번째 인덱스에 추가합니다. 그래서 마지막 http 게시물의 색인을 쉽게 예측할 수 있습니다.