Await в пользовательском промежуточном программном обеспечении Redux

Как бы я использовал await внутри пользовательского промежуточного программного обеспечения.

const customMiddleware= (store) => (next) => (action) => {
  if (action.type === 'Start'){
    const apiResult = await FetchFromApi;
  }
  const result = next(action);
  return result;
}
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
492
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

использовать асинхронность перед действием

const customMiddleware= (store) => (next) => async (action) => {
  if (action.type === 'Start'){
    const apiResult = await FetchFromApi;
  }
  const result = next(action);
  return result;
}

отлично! Это экономит мое время на поиск.

JIGNESH PATEL 26.07.2021 12:44

Просто превратите самую внутреннюю функцию в функцию async, и тогда вы сможете использовать await.

const customMiddleware = (store) => (next) => async (action) => {
  if (action.type === 'Start'){
    const apiResult = await FetchFromApi;
  }
  const result = next(action);
  return result;
}

Я не знаю, для чего вы собираетесь использовать это промежуточное программное обеспечение. Возможно, у вас есть вариант использования, в котором вы хотите написать свой собственный, и в этом случае сделайте это. Но если вы просто хотите выполнять асинхронные действия общего назначения, рассмотрите возможность использования redux-thunk, redux-saga или redux-observable для обработки ваших асинхронных действий.

Другие вопросы по теме