[英]Catching Error in pipe() method of an Observable - rxjs/Axios
我使用rxjs
將我的 http 層重構為 go,從基於承諾的實現到可觀察對象。 我面臨的問題是,每當服務器響應為400
或500
時,代碼就會崩潰,
Axios.request(config).pipe(map(((response: AxiosResponse) => response), catchError(e => {
return new Observable(e);
})));
我面臨的問題是錯誤沒有被catchError
回調處理。 我正在尋找一種由catchError
回調處理錯誤的方法,以便可以優雅地處理響應。
我不知道你的問題是這個,但你可以這樣做:
import { EMPTY } from 'rxjs';
Axios.request(config).pipe(map(((response: AxiosResponse) => response),
catchError(() => EMPTY)));
EMPTY
是從 rxjs libaray 導入的 object。
看起來您想將error
通知轉為next
通知,因此如果您想抑制錯誤,則需要使用return of(e)
eventually EMPTY
。
new Observable(e)
可能是在您的情況下引發錯誤的原因,因為傳遞給Observable
的參數需要是 function 而e
在這種情況下不是。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.