这个问题在这里已有答案:
我是Redux的新手,我见过很多人使用一些中间件来处理异步。
我的问题是,我可以这样做:
fetch(myAPI)
.then(res => res.json())
.then(res => {
dispatch({
type: 'MY_ASYNC_ACTION',
res
})
})
我可以等待承诺解决然后调度我的同步动作。
使用中间件来处理Redux中的异步而不仅仅是等待解析的承诺有什么好处?
我看过很多关于Redux的教程,没有一个等待承诺解决,我错过了什么?
使用中间件来处理Redux中的异步而不仅仅是等待解析的承诺有什么好处?
将中间件视为您的行为与减速器之间的中间人。这可以让您灵活地执行异步操作(例如,获取/其他API调用),而无需停止主线程(您的流程)。并向您的用户显示后备用户界面,以指示后台正在发生的事情。
一个简单的用例:您的用户可能希望查看某些数据,并在获取数据时执行其他操作。没有中间件,您的用户可能会等待某些事情发生(直到您的获取解析),但没有任何指示正在发生的事情。
检查Redux Async Flow以获取更多详细信息和Redux-Saga中间件,用于处理应用程序中的异步流。