我想連續發出2個請求,有點像瀑布一樣。我想先請求一個特定的寵物小精靈,然後根據返回的obj的有效載荷的類型,我想要求更多的信息。我認爲最好將這個分離出來給幾個動作創作者,但是覺得很奇怪,fetchPokemon
以另一個獲取結束。這是最佳做法嗎?React在一個動作創建者中的多個請求
export const fetchPokemon = function (pokemonName) {
return function (dispatch) {
dispatch(requestPokemon(pokemonName))
const requestURL = `http://pokeapi.co/api/v2/pokemon/${pokemonName}/`
return $.ajax({
url: requestURL,
}).done(function (data) {
dispatch(receivePokemon(data))
fetchPokeTypeInfo(data.types[0].type.url)
})
}
}
...
export const fetchPokemonTypeInfo = function (url) {
return function (dispatch) {
dispatch(requestPokemonTypeInfo(url))
return $.ajax({
url: url,
}).done(function (data) {
dispatch(receivePokemonTypeInfo(data))
})
}
}
你能告訴我你將如何築巢嗎?我不確定這是怎麼可能的,因爲不是每次異步調用都必須通過thunk?我怎麼能接下一個thunk內的thunk? – mangocaptain