gpt4 book ai didi

javascript - Redux-Saga 连接多个生成器存储

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:01:35 25 4
gpt4 key购买 nike

这可能是相当基本的,但我还没有找到解决方案。我正在使用 redux-saga使用 redux 处理我的异步 API 调用。我需要将多个听众连接到商店。我像示例中那样尝试了 fork,第一个 fork 有效,但第二个没有。如何连接多个监听器?

export default function* mySaga() {
yield [
fork(yield* takeEvery("FRIEND_FETCH_REQUESTED", fetchFriends)), // works
fork(yield* takeEvery("CREATE_USER_REQUESTED", createUser)), // doesn't work
]
}

谢谢!

最佳答案

这是因为根据此处的文档,fork 采用返回 promise 的函数生成器函数:

http://yelouafi.github.io/redux-saga/docs/api/index.html#forkfn-args

为了使您的情况可行,只需将 yield* 放入生成器函数中,它应该都能正常运行:

export default function* mySaga() {
yield [
fork(watchFetchFriends),
fork(watchCreateUser)
]
}
function watchFetchFriends() {
yield* takeEvery("FRIEND_FETCH_REQUESTED", fetchFriends);
}
function watchCreateUser() {
yield* takeEvery("CREATE_USER_REQUESTED", createUser);
}

顺便说一句,我不确定您的第一个 yield* 是如何工作的。

关于javascript - Redux-Saga 连接多个生成器存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36523784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com