我正在寫一個小工具功能換到AngularJS http.get調用必要的認證頭:RxJS和AngularJS HTTP - 我該如何實現?
get(endpoint: string): Observable {
var headers = new Headers();
this._appendAuthentificationHeaders(headers, this.user.credentials);
return this.http.get(endpoint, { headers: headers })
.map(res => res.json());
}
這裏的關鍵是,如果this.user爲null,該方法將剛崩潰。 所以我有三種選擇:
- 返回null,檢查每一個調用的返回值...
- 拋出一個異常
- 找到一種方法,也返回RxJS可觀察對象,將直接觸發錯誤處理器。
我想實現第三種方法,因爲它可以讓我統一這個方法的行爲:無論發生什麼事,它總是返回一個可觀察對象。
- 你有關於如何做到這一點的想法?
- 我是否必須創建一個新的Observable並將它們合併?
- 我該怎麼辦?
我將爲Observable.throw('User is null'); 非常感謝! – Clement
手冊'Observable.throw()'已被證明是我在Rx/angular 4中遇到的使用最少,最有用的錯誤處理模式之一。 – msanford