Redux Saga-在异步回调中调用“yield put”
在我的故事中,我调用了一个异步函数,并向它传递了一个回调。我向它传递回调的原因是,它可以从异步函数调用几次Redux Saga-在异步回调中调用“yield put”,redux,redux-saga,Redux,Redux Saga,在我的故事中,我调用了一个异步函数,并向它传递了一个回调。我向它传递回调的原因是,它可以从异步函数调用几次 如何从回调函数内部调用yield put,而回调函数应该从异步函数内部调用多次。正如您所注意到的,无法在生成器函数的嵌套函数内部进行yield。相反,您可以将回调样式的异步函数转换为承诺,并使用 这是一种常见的模式,但您需要知道异步函数何时完成。它需要某种方式来发出信号,表明它已经最后一次调用了回调函数 function* generator() { const results = y
如何从回调函数内部调用yield put,而回调函数应该从异步函数内部调用多次。正如您所注意到的,无法在生成器函数的嵌套函数内部进行yield。相反,您可以将回调样式的异步函数转换为承诺,并使用 这是一种常见的模式,但您需要知道异步函数何时完成。它需要某种方式来发出信号,表明它已经最后一次调用了回调函数
function* generator() {
const results = yield call(function() {
return new Promise(function(resolve, reject) {
const results = [];
asyncFunction(function(result) {
if (async function is done) { resolve(results) }
else { results.push(result) }
});
});
});
yield put(action(results));
}