RxJS中catch和catchError的区别是什么。如何处理API调用返回的网络错误?
在这里调用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
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)
});