【发布时间】:2019-05-21 04:04:27
【问题描述】:
好的,所以我正在尝试调用 http.get 来等待返回参数之一 (getUserToken),然后再调用 http.get 函数。我不想在这里将它们链接在一起,因为我的调用函数 getSomeData 返回一个 observable,然后被许多其他函数调用。
getSomeData 是需要返回 getUserToken 但 getUserToken 始终为空的,因为我没有正确地做承诺。很抱歉,我在这里没有看到解决方案。
这个函数开始调用,有很多函数可以调用,我不想在这里改变任何东西。
displayData(){
let mySubscription = this.getSomeData();
mySubscription.subscribe(retJson => {
if (retJson != null && retJson !== undefined){
console.log(retJson);
}
});
}
这是返回 http.get 的调用,问题在 getUserToken 中。我需要 http.get 来等待 getUserToken()。
getSomeData(){
let temporary = this.http.get(serviceUrl, getUserToken() ).map((response: Response) => {
return response;
});
return temporary;
}
问题是 getUserToken 自己调用服务器,有没有办法将它包装在一个 observable 或 Promise 中,可以在 getSomeData 调用中调用和解析 http.get 内联?
getUserToken(){
this.authenticationService.getToken()
.subscribe(responseData => {
if (responseData){
let headers = new Headers({ 'Authorization': 'Bearer ' + responseData.token });
return new RequestOptions({ headers: headers });
}
});
}
【问题讨论】:
标签: typescript promise observable httprequest angular2-observables