[英]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.