我對switchMap在rxjs而觀察到的困惑:rxjs switchMap的onerror行爲
,比如我有下面的代碼:
Observable.fromEvent(button, 'click') .switchMap(() => Observable.fromPromise(fetch('http://return-error.com'))) .subscribe( (response) => { console.log(response); }, (error) => { console.log(error); } );
如果我得到提取錯誤,訂閱中斷。那麼是否有辦法處理它,不會爲任何錯誤創建新訂閱?
我甚至試圖捕獲錯誤並返回Observable,但訂閱無論如何都中斷。
upd:如何處理angular 2 http.get而不是提取?
謝謝你,它確實有效。你知道如何處理角2 http.get而不是獲取? –
@MikhailLinkov我很高興它幫助!我是一個熱愛RxJS的React人。我不知道Angular的方法。但是如果'http.get'返回一個承諾,你可以用catch來處理它。如果它返回一個可觀察的錯誤,根據你的需要有不同的方法來處理它。 –
Angular 2 http返回observable,第一種方式是調用toPromise,但你說trere是不同的方式,第二個是重新訂閱)我也很好奇知道它是錯誤的還是功能這個switchMap的行爲錯誤,因爲沒有調用onError後的onComplete回調 –