uaKorona
@uaKorona
Front-End разработчик

Как организовать цепочку запросов в React + Redux?

Нужно реализовать такую цепочку асинхронных запросов
Загрузить Facebook SDK асинхронно -> Проверить авторизован ли пользователь -> Если авторизован, получить по нему дополнительную информацию
За асинхронную загрузку SDK у меня отвечает FbActions, за авторизацию пользователя и получение данных по нему UserActions
Собственно вопрос: как эти actions скомбинировать ? возвращать промисы и на уровне контейнера написать цепочку:
sdkLoading.then -> checkUserStatus.then -> getUserDetails

или это не делается на уровне контейнера компонента - а лучше вынести на уровень FbActions и туда импортировать нужные вызовы из UserActions ?
  • Вопрос задан
  • 400 просмотров
Пригласить эксперта
Ответы на вопрос 3
uaKorona
@uaKorona Автор вопроса
Front-End разработчик
Вроде, нашел вариант с thunk
Он может диспатчить вызовы функций. Получилось что-то типа:
fb.initCore().then(
      () => {
        dispatch({
          type: FB_LOADED_SUCCESS,
        });

        dispatch(getUserStatus());
      },
      () => {
        dispatch({
          type: FB_LOADED_FAIL,
        });
      },
    );


где getUserStatus импортируется из UserActions.
Наверное, стоит вынести всю эту кухню в middleware и комбинировать там, тогда экшены станут почище )
Ответ написан
Комментировать
@KnightForce
Используя thunk.
А внутри можно использовать колбэки.
Ответ написан
Комментировать
@davidnum95
Для таких случаев отлично подходит redux-saga
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы