Хорошо, поэтому я пытаюсь получить вызов http.get, который я выполняю, чтобы дождаться возврата одного из параметров (getUserToken), прежде чем вызывать функцию http.get. Я не хочу связывать их здесь вместе, потому что моя вызывающая функция getSomeData возвращает наблюдаемую, которая затем вызывается множеством других функций.
getSomeData - это тот, для которого нужно вернуть getUserToken, но getUserToken всегда имеет значение null, потому что я не выполняю обещание правильно. Извините, я просто не вижу решения здесь.
эта функция запускает вызов, есть много функций, которые делают этот вызов, я не хочу ничего менять здесь.
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 делает свой собственный вызов серверу, есть ли способ обернуть это в наблюдаемое или обещание, которое можно вызывать и разрешать внутри строки http.get внутри вызова getSomeData?
getUserToken(){
this.authenticationService.getToken()
.subscribe(responseData => {
if (responseData){
let headers = new Headers({ 'Authorization': 'Bearer ' + responseData.token });
return new RequestOptions({ headers: headers });
}
});
}