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

What does "dispatch()" mean/do, and why is it used when we have .then() and .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 上查找 dispatch 但只找到 DispatchEvent... 这不一样?我问是因为虽然我的代码有效,但我发现我的 api 中的 403 等 http 错误代码被 axios 处理为错误,而我更愿意在应用程序中自己处理它们。 (更新:当我在这个问题上加上dispatch标签的​​时候,我看到了一个简单的概括意思,但我还是一头雾水)。

使用调度的原因或优势是什么? "dispatch()" 是 axios、ES6 还是 nodejs 的一部分? thx.

当我看到 dispatch 时,我立即想到 redux-thunk (a popular middleware for Redux)。这是为什么传递 dispatch 有用的一个很好的例子。基本上 dispatch 用作回调,一旦某个异步操作完成就会调用它。在 redux-thunk 中,dispatch 只是一个函数,它在比方说从 api(异步)获取数据之后将一个操作分派到 Redux 存储。您可以将任何您喜欢的函数传递给某些 Promise 的 .then().catch(),它将在成功或失败时被调用。