什么" dispatch()" mean / do,以及为什么在我们有.then()和.catch()时使用它

时间:2017-10-29 16:52:10

标签: node.js axios dispatch

我是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。

1 个答案:

答案 0 :(得分:1)

当我看到dispatch时,我立即想到redux-thunkRedux的流行中间件)。这是传递dispatch有用的原因的一个很好的例子。基本上dispatch用作回调,一旦异步操作完成,就会调用它。在redux-thunk dispatch中只是一个函数,它将一个动作调度到Redux存储之后,比方说,你从api获取数据(这是异步的)。您可以将任何您喜欢的函数传递给某些Promise的.then().catch(),并且会在失败成功后调用它。