У меня есть список с «провайдерами», из которых я должен получать данные асинхронно.Я использую redux-saga.
Функция requestProvider возвращает обещания и извлекает данные для каждого провайдера.
Я использую «yield all» для запуска нескольких асинхронных запросов.
Чем мне нужноподтолкнуть результаты от каждого провайдера в магазин избыточных данных.Я пытаюсь использовать "yield all", чтобы зарегистрировать "put" s.Но эта строка игнорируется.Я не уверен, что я все делаю правильно.
Как вызвать избыточное действие для отправки данных в хранилище избыточных данных?
. . .
// Providers api
const providers = [ '/apiProvider1', '/apiProvider2', '/apiProvider3' ];
// Fetching data from each provider
const providerResults: [] =
yield all(providers.map(provider => call(requestProvider, provider)));
// Trying to push the results to redux-stor, but this line is ignored, nothing happened here
yield all ([
providerResults.map(
result => put({ type: constants.MAP_PUSH_PROVIDER_RESULTS, providerResults: result }))
])
. . .
export const requestProvider = (provider: Provider, coverageLocation: CoverageLocation): Promise<boolean> => {
// console.log('promise:::', provider);
return new Promise((resolve, reject) => {
. . .
}