2017-04-01 4 views
1

내 저장소에서 두 가지를 가져와야하는데, 두 가지가 있습니다. Promises입니다. 다음으로,이 두 가지 약속을 사용하여 각도 2 HTTP 요청을 작성해야합니다. 그러나 나는이 단계들을 올바르게 구성하는 방법을 이해할 수 없다. 나는 항상 Observable<Observable<Response>>으로 끝납니다.여러 약속을 해결하고 각도 2 HTTP 요청을 보내십시오.

let tokenPromise = this.getToken() 
    let registrationTokenPromise = this.getRegistrationToken() 

    Observable.zip(
     tokenPromise, 
     registrationTokenPromise, 
     (token, registrationToken) => { 
      let headers = this.headers(token) 
      return this.http.post(`${this.apiBase}/users/registration-token`, 
       { registration_token: registrationToken }, 
       headers 
      ) 
     }) 

정확하게 이것을 해결하여 Observable<Response>을 수신 할 수 있습니까? Observable.zipObservable을 반환하고 http.postObservable를 반환하는 Observable<Observable<Response>> 때문에

답변

1

당신은 얻고있다. 관찰 가능한 중 하나를 풀다하기 위해, 당신은 함께 지금 내 요청 화재를 호출 subscribe` Observable.zip

Observable.zip(
     tokenPromise, 
     registrationTokenPromise, 
     (token, registrationToken) => { 
      let headers = this.headers(token) 
      return this.http.post(`${this.apiBase}/users/registration-token`, 
       { registration_token: registrationToken }, 
       headers 
      ) 
     }) 
     .subscribe(response => { 
      //do something with response 
     }) 
+0

네,이 체인으로 연결된 한 개의'에 subscribe해야합니다. 고맙습니다. – tolgap