我一直在从 Array.map 函数返回的对象内部遇到 axios fetch 调用问题。每当我返回响应时,它都会向包含我需要的数据的数组返回一个 Promise 对象,但我似乎无法解析 Promise 对象以从中获取我需要的数据。当我 console.log 响应时,我得到一个常规对象而不是一个承诺。
我尝试过使用 Promise.all ,使用 redux-thunk 进行调度(但这会为每个数组项调度不同的操作)、JSON.parse、JSON.stringify,但是我似乎无法让异步在数组中运行
export const checkStreamerStatus = streamers => {
return{
type: CHECK_STREAMER_STATUS,
payload: {
streamers: streamers.map(streamer => ({
...streamer,
status: getStatus(streamer)
}))
}
}
}
const getStatus = streamer => {
return axios.get(`https://www.googleapis.com/youtube/v3/search?part=snippet&channelId=${streamer.social.youtube}&type=video&eventType=live&key=[API KEY]`)
.then(res => res.data)
.catch(err => err)
}
我希望代码输出一个对象数组,其中包含来自 fetch 调用的数据作为每个名为“status”的对象中的一个新键,然后我希望用返回的数组更新我的减速器中的状态。