3
我有以下代碼。Angular2:Return 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中返回同步值,但可觀察的是異步的。這個函數的返回類型爲Promise<Observable< > >
我只是想知道如何訂閱此觀察到,此刻我已經試過這樣:
loadCategory(){
this.questionDBService.getListCategoryOfQuestion()
.subscribe(data => {
this.categories = data;
console.log(data);
});
}
但是,當然,它不工作,因爲結果是不是可觀察的,所以任何人都知道如何解決這個問題?
謝謝你,所以邏輯,當你給我的答案AHAH。有沒有更好的方法來做到這一點,而不是將可觀察的事物放在承諾中? :p –