首页 > 解决方案 > Redux 中间件处理多个操作

问题描述

我在 redux 中使用中间件来执行一些异步逻辑。我的问题是当中间件正在处理一个动作并且在第一个动作完成之前调度另一个动作时会发生什么,在这种情况下会发生什么,该动作是否会暂停直到中间件完成处理或者是否action 将传递中间件,该中间件也将开始执行此操作(与第一个操作一起)。

我是反应和还原的初学者,不知道答案是否应该很明显,因为它对我来说不是。

标签: javascriptreactjsreduxmiddleware

解决方案


TLDR:这不可能发生,因为 JS 是一种同步语言。它使用事件循环和任务队列进行操作。每个异步任务(即接收用户触发的 fetch 响应或事件监听器)都被放入一个队列中,并被一个一个地执行。因此,当执行某些任务时,另一个将在队列中等待。

另请记住,异步功能不仅仅是一项任务。每个都await表示一个新任务。

网上有很多关于这个模型的关键词解释:“JS事件 循环1、2


推荐阅读