0
我爲我的Angular2打字稿應用程序創建了一個HttpClient,並且卡在了錯誤處理程序中。如何在擴展Angular2 HTTP Client時運行rxjs Observable之外的方法?
我想發出一個事件,當我遇到401錯誤,並且能夠捕獲錯誤但不觸發我的事件,因爲.catch需要附加到Observable類型的函數,所以我沒有訪問我的HttpClient類這個範圍。
errorHandler (error:any) : Observable<any> {
if(error.status == 401) {
// I want to call this.myOtherMethod() here!
this.events.publish('token_expired'); // Will throw this.events is undefined
console.log(error);
}
return Observable.throw(error.json());
}
get(url) : Observable<any> {
return this.http.get(url, {
headers: this.customHeaders
}).catch(this.errorHandler);
}
所以我知道我不能從訪問該功能在我的this.events,但有什麼解決方法嗎?我怎樣才能在那裏注入事件?
完美的回答!像魅力一樣工作。我太擔心函數類型,我沒有注意到範圍殺戮參考。謝謝! 標記爲已解決。 – gfviegas