首页 > 解决方案 > 如果观察者中有多个具有相同操作的函数调用,redux saga 将如何表现?

问题描述

我试图在调度两个 saga 函数时使用相同的 Action,但函数的执行顺序很重要。尽管我可以将一个 saga 放在另一个里面以保持正确的执行顺序。我想知道是否有一种方法可以在调度单个操作时以特定顺序运行两个 saga?

export default function* watcher() {
yield takeEvery(ACTIONS.INITIALIZE_PARAMS, initializeParams);
yield takeEvery(ACTIONS.INITIALIZE_PARAMS, refreshFeed);
}

标签: reactjsreact-reduxredux-saga

解决方案


这有点像问如何管理 reducer 的执行顺序。每个 reducer 管理独立的状态部分,所以你无法管理它。“采取”行动的 sagas 也会发生同样的事情。如果您在不同部分之间有直接依赖关系,只需使用单个 saga 来“执行”操作,然后按照您想要的方式处理订单。


推荐阅读