Reactjs 如何调度等待其他异步操作完成的redux操作?
我正在将一个项目管理应用程序从angularjs迁移到reactjs 在angularjs应用程序中,我等待承诺在路由加载时解析,然后再显示它。所有承诺及其状态都存储在进行api调用的服务中。一些api调用需要等待特定的挂起api调用,以便获取最新的数据 例如:如果用户添加新项目,则会自动将其推送到项目列表路径。在项目列表路由中,进行api调用以获取项目列表,此api调用在调用列表之前等待添加新项目成功。如果我们不等待新项目完成添加,那么我们将有一个没有新项目的旧项目列表 这如何转化为反应/redux? 在redux中,我基本上需要一个动作,当被调度时,该动作将确保在从api获取数据之前等待任何必需的挂起动作。这与链接异步动作或调用一对动作并等待两者解决不同,因为在这些情况下,您说的是“调用这些动作”我需要这样一句话:“调用此操作,但要等待以前调用的依赖项首先得到解决”。我知道你可以在redux状态下存储一个isFetching标志或类似的东西,但是你必须观察这些值,我不知道怎么做 我遇到的两个解决方案是redux中间件:和。它们基本上保留了一个已调度的操作列表,但正在等待解决其他一些操作类型。他们检查所有操作,查看列表中的一个操作是否已解决,如果找到一个操作,则发送等待的操作 我的问题如下:Reactjs 如何调度等待其他异步操作完成的redux操作?,reactjs,asynchronous,redux,flux,Reactjs,Asynchronous,Redux,Flux,我正在将一个项目管理应用程序从angularjs迁移到reactjs 在angularjs应用程序中,我等待承诺在路由加载时解析,然后再显示它。所有承诺及其状态都存储在进行api调用的服务中。一些api调用需要等待特定的挂起api调用,以便获取最新的数据 例如:如果用户添加新项目,则会自动将其推送到项目列表路径。在项目列表路由中,进行api调用以获取项目列表,此api调用在调用列表之前等待添加新项目成功。如果我们不等待新项目完成添加,那么我们将有一个没有新项目的旧项目列表 这如何转化为反应/re
感谢大家的任何意见 我在react/redux discord频道获得了帮助,并提出了以下建议:
如果您的使用承诺像axios一样 我建议使用redux thunk
export const toDispatch = () =>{
return dispatch =>{
axios.get(url).then(()=>{
dispatch(functionToDispatch())
})
}
}
如果不是复制品,这是非常密切相关的:@ZZBOV密切相关,但不相同。其中一个是“在x秒后调用此操作”,而我的是“在调用新操作时,检查以确保已解决特定的挂起操作”。这两个场景都是异步操作调度。不管怎么说,我没有在这件事上使用我的欺骗锤是有原因的。那只是在一个承诺解决后链接一个要发送的动作。我想要的是,新操作在新操作启动之前检查是否有任何正在进行的从属操作,无论它们在何处或何时被调用。:)