Последняя попытка в redux-saga не работает. У меня очень странный API, который выдает информацию маленькими битами, и мне нужно go вниз на один шаг за раз, чтобы получить информацию. API - https://pokeapi.co/docs/v2.html/#pokemon
function* getPokemonsAsync() {
//works normal
const pokemons = yield call(pokemonAPI.getPokemonsFromBackend);
//works normal
const pokemonDetails = yield all(pokemons.results.map((pokemon) => {
return call(pokemonAPI.getPokemonDetails, pokemon.name);
}));
//works normal
const pokemonDetailsAndAbilities = yield all(pokemonDetails.map((pokemon) => {
const abilities = () => call(pokemonAPI.getPokemonAbilities, pokemon.name);
return pokemon.abilities = abilities();
}));
//doesnt work
const details = yield all(pokemonDetailsAndAbilities.map((pokemon) => {
return pokemon.abilities.map((ability) => {
const abDet = () => call(pokemonAPI.getAbilityDetails, ability.ability.name);
return pokemon.details = abDet();
})
}))
console.log(details)
yield put(ACTIONS.setPokemons(pokemonDetailsAndAbilities));
}
export function* watchGetPokemons() {
yield takeEvery(TYPES.FETCH_POKEMONS, getPokemonsAsync);
}