当尝试导出生成器函数以便在 Redux-Saga 中使用时,ES-Lint 告诉我我的代码中有错误:
[eslint] Expected a function declaration. (func-style)
它以当前的方式导出得很好,并且该规则当前被忽略:
/*eslint-disable func-style*/
const myExampleSaga = function* () {
yield takeEvery('DO_SOMETHING_REQUEST', andDoThisFunc);
};
export default myExampleSaga;
我或多或少同意 ES-Lint 不支持生成器(或者至少看起来是这样),但是我想知道为什么以下代码不起作用:
export default function* () {
yield takeEvery('DO_SOMETHING_REQUEST', andDoThisFunc);
}
带有以下错误消息:
undefined is not an object (evaluating 'regeneratorRuntime.mark')
错误消息是从我的 rootSaga 抛出的,如下所示:
/*eslint-disable func-style*/
export const rootSaga = function* rootSaga() {
yield all([
spawn(myExampleSaga)
]);
};
谁能告诉我为什么上面的代码无效?我认为这与吊装有关,但是我找不到任何无效的原因。