是redux传奇中的takeEvery阻塞吗



我一直认为takeEvery(或takeLatest等(正在阻塞,并且由于在其实现(或基本实现(中使用while(true),它将与其父级一样长。

然而,我已经把一个基本的例子放在一起,演示了在调用takeEvery之后立即运行到finally块的传奇。

import { call, takeEvery } from "redux-saga/effects";
function* handleTest(data: any) {
yield call([console, console.log], data);
}
export function* rootSaga() {
try {
yield takeEvery("test", handleTest);
} finally {
console.log("end");
}
}

https://codesandbox.io/s/pusher-transcriptions-ff7qz?file=/src/rootSaga.ts:0-259

根据官方文档,它没有被阻止https://redux-saga.js.org/docs/api/#blocking--无阻塞

最新更新