Я использую Redux Saga для обработки вызовов API в собственном приложении. Вот как саги настраиваются при использовании axios:
function* getList(){
try{
response = yield call(axios.get,'https://example.com/list');
yield put({type:'LIST_RESULTS',data:response.data});
} catch(err){
console.log(err);
}
}
...
function* rootSaga(){
yield takeLatest(types.GET_LIST,getList);
...
}
Вызов получает данные около 700 КБ.
Когда отправляется это действие, ни одно из сенсорных элементов не отвечает, и как только ответ получен, все события, вызванные во время выполнения запроса, запускаются в пакетном режиме.
Тот же запрос API, когда используется с fetch, не имеет той же проблемы.
Вот код при использовании fetch
function* getList(){
try{
response = yield call(fetch,'https://example.com');
data = yield call(getJson,response);
yield put({type:'LIST_RESULTS',data});
} catch(err){
console.log(err);
}
}
async function getJson(data){
return new Promise((resolve,reject)=>{
data.json().then(result=>{
resolve(result);
}).catch(err=>{
reject(err);
});
});
}
Может кто-нибудь помочь мне отладить, в чем здесь проблема?