gpt4 book ai didi

javascript - 如何从生成器函数内的回调函数调用 redux-saga 效果?

转载 作者:行者123 更新时间:2023-12-01 01:46:58 24 4
gpt4 key购买 nike

我的情况如下:

function * uploadFile({file}) {
Papa.parse(file, {
header: true,
complete: function(results) {
console.log(results.data);
//if errors => call uploadFailed action with yield
//else yield put(uploadSucceed)
}
});
}

无法调用注释代码,因为它不是生成器函数。如果我将 * 添加到回调定义中,则不会出现错误,但不起作用。

我还尝试将其包装在另一个接受回调的函数中,但没有任何运气。浏览了几个答案,例如 1 2但这些不是我的情况。据我所知,还没有关于 Papa 与 redux 的文档。任何帮助将不胜感激。

顺便说一句:

complete: yield call(someAction) //doesn't work as well.

最佳答案

Promisify解析函数并使用call效果

function parse(file) {
return new Promise((complete, error) => {
Papa.parse(file, {complete, error})
})
}

function * uploadFile({file}) {
try {
const result = yield call(parse, file);

// yield put success action

} catch(error) {

// yield put error action
}

}

关于javascript - 如何从生成器函数内的回调函数调用 redux-saga 效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51878190/

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