如何在Redux中处理竞争条件和请求依赖性

时间:2019-04-25 14:44:55

标签: reactjs redux react-redux race-condition react-thunk

我正在做一个大型项目,最近有人将我们的部分状态迁移到Redux,现在我注意到在处理有时会破坏应用程序的服务器请求时的一些竞争条件。

我希望系统中有很多这样的情况,所以我正在寻找关于通常在Redux中如何处理的最佳实践。在某些情况下,竞争条件会下降很多级别,其中A和B需要等待C,而C需要等待D等。

在一个简单的示例中,我们正在加载文档。在操作中,我们检查用户是否有权在加载文档之前阅读文档。这已经是一个竞争条件,因为权限也会异步加载并且可能尚未加载。如果不存在权限或尚未加载权限,则文档加载失败。我可以通过触发等待加载权限来解决此问题,但是这些也应该是Redux存储的一部分,它们可能已经挂起,是从其他地方触发的,我想确保只加载一次。

这似乎是一个普遍的问题,全局状态依赖于该状态的其他部分来准备就绪,但是我有点困惑处理该状态的最佳实践,我不想重新发明已经存在的东西。

0 个答案:

没有答案