У меня есть следующий код.Angular2: Return Observable in Promise
getListCategoryOfQuestion() {
return this.authService.getToken()
.then(token => {
let headers = new Headers();
headers.append('Authorization', `Bearer ${token}`);
return this.http.get('http://localhost:3333/question/getCategories', {headers:headers})
.map(res => res.json())
.catch(this.handleError);
})
.catch(this.handleError);
}
Я знаю, что я не могу вернуть значение синхронизации из обещания, но наблюдаемые являются асинхронными. Возвращение этой функции имеет типа Promise<Observable< > >
Я просто хочу знать, как подписаться на этот наблюдаемый в данный момент я попытался это:
loadCategory(){
this.questionDBService.getListCategoryOfQuestion()
.subscribe(data => {
this.categories = data;
console.log(data);
});
}
Но, конечно, это не работает, потому что результат не наблюдаемый, так что кто-нибудь знает, как справиться с этой проблемой?
Спасибо вам, так что логично, когда вы даете мне ответы ахах. Есть ли лучший способ сделать это, не поместив наблюдаемого в обещание? :п –