我有一个react-redux应用程序:
问题在于,如果for和instance的用户尝试过滤掉某些内容,并且在同一时间间隔正在加载更多数据,则2个请求可能发生冲突并相互覆盖。我可以确定在react-redux应用程序中的请求顺序如何。也许对于如何正确地将请求排队有一种通用的方法?
谢谢!
答案 0 :(得分:0)
我不确定您所说的“冲突”是什么意思。我的理解是,将会发生以下情况:
如果您只希望这两个请求之一刷新组件,则可能的解决方法如下:
在从数据库检索数据之前,通过创建“ RETRIEVAL_START”操作来启动每个请求。 'RETRIEVAL_START'将设置Redux状态变量'retrievalInProgress'
在这种情况下,如果只想从两个请求中的第一个请求中获取结果,则可以在从组件调用动作创建者之前检查“ retrievalInProgress”是否打开。如果是这样,请勿调用操作创建者(换句话说,在进行请求时不要请求数据)。成功检索或失败检索数据后,将清除“ retrievalInProgress”。
如果只想从两个请求中的第二个获取结果,则将“ retrievalInProgress”设置为计数器,而不是布尔值。在减速器的“ retrievalSuccess”操作中,如果此计数器大于1,则意味着新请求已开始。在这种情况下,请不要更新状态,而要减少计数器。
我希望这是有道理的。在测试之前,我不能百分百确定这是否可行,我将不做:),但这是我要采用的方法。