首页 > 解决方案 > 为什么在 yield all([someGenerator]) 之后,没有调用另一个函数

问题描述

我尝试在 yield all([]) 之后调用另一个函数

当我用 fork() 替换 call() 效果时,它起作用了。我知道 fork() 是无阻塞效果。但是假设所有的效果都解决了(使用 call()),下一行也应该被调用。

毕竟()效果我尝试用 WebSockets 调用另一个生成器。也许它不是最好的地方,但我不知道为什么它无论如何都不起作用。

export function* someGenerator () {
    try {
    return true
    } catch (e) {}
}

export function* watchSomeAction() {
    yield takeEvery('someAction', someGenerator )
}


export default function* rootSaga () {
    yield all([call(watchSomeAction)])

    yield call(anotherGenerator) \\ never called even when all the effects are
 resolved
}```

标签: reduxredux-saga

解决方案


推荐阅读