"dispatch()"是什么意思/做什么,为什么当我们有 .then() 和 .catch() 时使用它



我是ES6和高级JavaScript的新手。我见过使用 axios http 客户端的代码示例,如下所示:

axios.xxx(...).then((res) => dispatch(success(res)) , (err)=> dispatch(error(err)))

而我正在做:

axios.xxx(...).then(function(res){...}).catch(function(err){...});

我试图在MDN上查找调度,但只找到调度事件...哪个不一样?我问是因为虽然我的代码有效,但我发现我的 api 中的 http 错误代码(如 403 等)被 axios 处理为错误,而我更愿意在应用程序中自己处理它们。 (更新:当我将调度标签添加到这个问题时,我看到了含义的简要摘要,但我仍然感到困惑)。

使用调度的原因或优势是什么?"dispatch()"是axios的一部分,还是ES6的一部分,还是nodejs的一部分?感谢。

当我看到dispatch时,我会立即想到redux-thunk(Redux的流行中间件)。这是一个很好的例子,说明为什么传递dispatch是有用的。基本上dispatch用作回调,一旦某些异步操作完成,就会调用该回调。在 redux-thunk 中,dispatch只是一个函数,它从 API 获取数据(异步)后将操作调度到 Redux 存储。你可以传递任何你喜欢的函数来.then().catch()一些承诺,它将在成功或失败时被调用。

最新更新