RxJS中catch和catchError的区别是什么。如何处理API调用返回的网络错误?

RxJS中catch和catchError的区别是什么。如何处理API调用返回的网络错误?,rxjs,redux-observable,Rxjs,Redux Observable,在这里调用API。如何处理此呼叫返回的网络错误 mergeMap( (action)=>{ const data = action.data; console.log(state$.value,'\n',action.data); 基本上,在RXJS中,catch和catchError是相同的。有关更多信息,请参阅文档。文档还声明我们必须从catchError返回observable。 请看一看与您的库axios上下文相关的给定示例 from(axios

在这里调用API。如何处理此呼叫返回的网络错误

mergeMap( (action)=>{

        const data = action.data;
        console.log(state$.value,'\n',action.data);

基本上,在RXJS中,
catch
catchError
是相同的。有关更多信息,请参阅文档。文档还声明我们必须从
catchError
返回
observable
。 请看一看与您的库
axios
上下文相关的给定示例

from(axios.post('http://localhost:3000/addContactIntoDirectory', 
    {directoryId: state$.value.reducer1.SelectedDirectory, contact: data.contact})
))

好的但是,我们可以使用它来处理api调用返回的网络错误吗?下面是您可以使用
axios.post('/formulas/create',{name:,parts:“})。然后(response=>{console.log(response)})。catch(error=>{console.log(error.response)})
在本例中,
axios
返回错误本身,您只需在
catch
回调中处理它。或者我们可以执行
axios.post('/formulas/create',{name:“Atul”,parts:“Mishra”})。然后(null,error=>alert(error)//显示“error:networkerror”)所以,两者都是相同的。只是,名称从catch更改为catchError。
axios.post('/formulas/create', { name: "Atul", parts: "Mishra" }) 
.then(response => { 
    console.log(response) 
}).catch(error => { 
    console.log(error.response) 
});