我是ES6和高级javascript的新手。我已经看到了使用axios http客户端的代码示例:
axios.xxx(...).then((res) => dispatch(success(res)) , (err)=> dispatch(error(err)))
而我正在做:
axios.xxx(...).then(function(res){...}).catch(function(err){...});
我试着在MDN上查找调度,但只发现了DispatchEvent ......这是不一样的?我问,因为虽然我的代码工作,但我发现我的api中的HTTP错误代码如403等被axios处理为错误,而我更愿意在应用程序中自己处理它们。 (更新:当我将调度标签添加到这个问题时,我看到了一个关于含义的简短摘要,但我仍然感到困惑)。
使用调度的原因或优势是什么?是" dispatch()" axios的一部分,或ES6,或nodejs? thx。
答案 0 :(得分:1)
当我看到dispatch
时,我立即想到redux-thunk(Redux的流行中间件)。这是传递dispatch
有用的原因的一个很好的例子。基本上dispatch
用作回调,一旦异步操作完成,就会调用它。在redux-thunk dispatch
中只是一个函数,它将一个动作调度到Redux存储之后,比方说,你从api获取数据(这是异步的)。您可以将任何您喜欢的函数传递给某些Promise的.then()
或.catch()
,并且会在失败成功后调用它。