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

问题描述 投票:1回答:1

这个问题在这里已有答案:

我是Redux的新手,我见过很多人使用一些中间件来处理异步。

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

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

我可以等待承诺解决然后调度我的同步动作。

使用中间件来处理Redux中的异步而不仅仅是等待解析的承诺有什么好处?

我看过很多关于Redux的教程,没有一个等待承诺解决,我错过了什么?

javascript reactjs asynchronous redux middleware
1个回答
1
投票

使用中间件来处理Redux中的异步而不仅仅是等待解析的承诺有什么好处?

将中间件视为您的行为与减速器之间的中间人。这可以让您灵活地执行异步操作(例如,获取/其他API调用),而无需停止主线程(您的流程)。并向您的用户显示后备用户界面,以指示后台正在发生的事情。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.