解决多个承诺并发送 angular 2 个 http 请求
Resolve multiple promises and send angular 2 http request
我需要从我的存储中取出两件东西,这给了我两个 Promises
。接下来,我需要使用这两个承诺来组成一个 angular 2 HTTP 请求。但我想不出正确组合这些步骤的方法。我总是以 Observable<Observable<Response>>
.
结尾
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<Observable<Response>>
因为 Observable.zip
returns 一个 Observable
和 http.post
returns 一个 Observable
。为了打开其中一个可观察对象,您需要 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
})
我需要从我的存储中取出两件东西,这给了我两个 Promises
。接下来,我需要使用这两个承诺来组成一个 angular 2 HTTP 请求。但我想不出正确组合这些步骤的方法。我总是以 Observable<Observable<Response>>
.
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<Observable<Response>>
因为 Observable.zip
returns 一个 Observable
和 http.post
returns 一个 Observable
。为了打开其中一个可观察对象,您需要 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
})