Я использую async/wait во всей своей кодовой базе. Из-за этого мои вызовы api определяются асинхронными функциями
async function apiFetchFoo {
return await apiCall(...);
}
Я хотел бы назвать эту функцию из моего кода саги. Похоже, я не могу этого сделать:
// Doesn't work
function* fetchFoo(action) {
const results = await apiFetchFoo();
yield put({type: "FOOS_FETCHED_SUCCESSFULLY", foos: results});
}
Однако это работает и соответствует документации саги о редукции:
// Does work
function* fetchFoo(action) {
const results = yield call(apiFetchFoo);
yield put({type: "FOOS_FETCHED_SUCCESSFULLY", foos: results});
}
Является ли это правильным способом использования Redux Saga рядом с async/wait? Стандартно использовать этот синтаксис генератора внутри кода саги и шаблон async/await в другом месте?