【问题标题】:Redux middleware handling multiple actionsRedux 中间件处理多个操作
【发布时间】:2021-09-16 14:39:52
【问题描述】:

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

我是 react 和 redux 的初学者,不知道答案是否显而易见,因为对我来说不是。

【问题讨论】:

  • 它应该是异步的,否则它会阻塞主线程。

标签: javascript reactjs redux middleware


【解决方案1】:

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

还要记住,异步函数不仅仅是一项任务。每个await 表示一个新任务。

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

【讨论】:

  • 如果这完全正确,那么在自动保存将先前的提交发送到服务器时,如何实现自动保存而不阻塞他正在执行的更改?
猜你喜欢
  • 2020-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-03
相关资源
最近更新 更多