为什么Redux的开发人员使用中间件来处理异步,而不仅仅是等待解决的承诺



我是Redux的新手,我已经看到很多人使用一些中间件来处理异步。

我的问题是,我可以这样做:

fetch(myAPI)
  .then(res => res.json())
  .then(res => {
    dispatch({
      type: 'MY_ASYNC_ACTION',
      res
    })
  })

我可以等待解决的承诺,然后派遣我的同步动作。

使用中间件在Redux中处理异步,而不仅仅是等待诺言解决?

我看过很多关于redux的教程,它们都没有等待解决的承诺,我想念什么?

使用中间件在Redux中处理异步,而不仅仅是等待诺言解决?

将中间件视为您的动作和还原器之间的中间人。这可以使您在不停止主线程(您的流程(的情况下执行异步操作(例如获取/其他API调用(的灵活性。并向您的用户展示后备UI,以表明背景中正在发生某些事情。

一个简单的用例:您的用户可能希望查看一些数据,并在获取其他数据时进行其他操作。没有中间件,您的用户可能会等待某些事情发生(直到您的提取解决(,但没有任何指标。

检查redux async流以获取更多详细信息和用于处理应用程序中的异步流的Redux-Saga中间件。

最新更新