Redux saga:redux-saga 工作原理的内部原理

neo*_*neo 5 middleware redux redux-saga

我知道 redux 中间件位于操作的调度和减速器的调用之间。与 redux-saga 相比,理解 redux-thunk 很容易。我了解生成器以及如何使用它们来编写依赖于异步调用的代码,就像代码是同步的一样。我还知道在这个模型中生成器成为消费者。生成器生成 redux-saga 中间件的指令。中间件处理请求并返回结果。我不明白的是传奇中间件如何在单线程执行中成为可能。另外为什么我们调用 run root saga 方法?这是一种设置方法还是真的开始运行传奇?由于我们可以使用 puteffect 从 sagas 中分派操作,因此它是否会将整个执行带回到中间件开始的位置。有人可以澄清整个传奇故事的处理是如何发生的吗?