Javascript 我的调用async/await在我的操作中返回一个承诺{}
嗨,我对api调用非常陌生,我开始使用axios来获得一副简单的卡片!我正在尝试做一个简单的axios调用,当我在控制台上记录我的res时,它会提供我所需要的。但当我归还它时,它给了我承诺{Javascript 我的调用async/await在我的操作中返回一个承诺{},javascript,reactjs,redux,async-await,axios,Javascript,Reactjs,Redux,Async Await,Axios,嗨,我对api调用非常陌生,我开始使用axios来获得一副简单的卡片!我正在尝试做一个简单的axios调用,当我在控制台上记录我的res时,它会提供我所需要的。但当我归还它时,它给了我承诺{}。从我所看到的,这是因为它是一个异步承诺,承诺正在得到解决,但因为它是异步的,它会在返回实际数据之前转到下一行代码?如果我错了,请纠正我!澄清一下就好了。提前谢谢 async function getData() { const result = await axios('https://decko
async function getData() {
const result = await axios('https://deckofcardsapi.com/api/deck/new/shuffle/?deck_count=1');
console.log(result.data);
return await result.data;
}
我在redux的行动
export function getNewDeck() {
return {
type: GET_NEW_DECK,
payload: getData().then( res => {
return res.data
})
}
}
然后在我的reducer中,我的action.payload返回根据注释更新的承诺{export async function getNewDeck() {
const payload = await getData();
return {
type: GET_NEW_DECK,
payload
}
}
查找Thunk了解如何处理异步操作所有标记为异步的函数都会返回一个承诺,异步总是这样做的。您需要等待getData或getData。然后。。。。此外,您不需要return await result.data;中的wait;。result.data不是一个异步调用,所以没有什么可等待的了,我有Thunk作为我的中间件。@MatthewHerbst哦,好吧,这更有意义!我更新了我的示例,让有效负载返回一个。然后因为如果我在它前面放一个wait,它会说wait是一个保留字?但我仍然得到了一个承诺的解决..等待getData.data可能与OPs代码匹配,但实际上getData方法应该已经返回了数据,而不是带有数据属性的内容。是的。非常感谢。