@n1ksON
мидл

Правильно ли собрана сага в redux-saga?

saga.js:
import { call, put, takeLatest } from 'redux-saga/effects'

function* fetchUser(action) {
  try {
    const query = yield call(async () => { 
/* 
больше всего интересует именно call, изначально было написано так:

const query = yield call(() => {
  return fetch('https://api.themoviedb.org/3/movie/top_rated?api_key=<<api_key>>&language=ru&page=1')
  .then(response => response.json())
  .then(result => result);
});

потом VSCode предложил сделать автозамену, и получилось то что ниже. 
Мне кажется это бред, ведь сага и так асинхронно выполняется, верно?
*/
      const response = await fetch('https://api.themoviedb.org/3/movie/top_rated?api_key=<<api_key>>&language=ru&page=1');
      const result = await response.json();
      return result;
    });
    yield put({ type: "USER_FETCH_SUCCEEDED", result: query });
  } catch (e) {
    yield put({ type: "USER_FETCH_FAILED", message: e.message });
  }
}

function* saga() {
  yield takeLatest("USER_FETCH_REQUESTED", fetchUser);
}

export default saga;

Вопрос в коде. Правильно ли написана сага была или правильной стала? Или вообще оба варианта неверны?
Не ругайтесь, первый раз сагу пишу, только доку попытался прочитать.
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
@abberati
frontend-разработчик
Эти куски кода абсолютно эквивалентны. Только поэтому редактор и смог предложить замену.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы