我正在嘗試在Angular2中進行文件上傳。我使用我在這裏找到的代碼 - https://plnkr.co/edit/ozZqbxIorjQW15BrDFrg?p=info。如何從XHR創建Observable
我需要在我的史詩(Angular2 +終極版)使用的反應,所以我想這樣做:
updateAvatarRequest = (action$: ActionsObservable<IPayloadAction>) => {
return action$.ofType(MeActions.UPDATE_AVATAR)
.mergeMap<IPayloadAction>(({payload}) => {
return this.meService.updateAvatar()
.map(result => ({
// ACTION ON SUCCESS
}))
.catch(error => Observable.of({
// ACTION ON ERROR
}));
});
}
的問題是,我沒有從我的可觀測到我不要任何迴應不贊成。另一個問題是我無法在這個可觀察值上使用catch()。它適用,如果我這樣做:
this.meService.updateUserAvatar(formData)
.subscribe(
(x) => console.log('onNext: %s', x),
(e) => console.log('onError: %s', e),
() => console.log('onCompleted')
);
但我想要一致。請幫助我這個RxJS,直到我失去了其餘的頭髮。
我需要,如果我想使用捕捉運營商拋出一個錯誤?你能提供一個捕捉用法的例子嗎?在此先感謝:) – Zacol
@Zacol運算符'catch()'只處理錯誤。它沒有其他目的,請參閱我的更新。 – martin