如何从异步函数返回值? 我试着喜欢这个
const axios = require('axios');
async function getData() {
const data = await axios.get('https://jsonplaceholder.typicode.com/posts');
return data;
}
console.log(getData());
它返回给我这个,
Promise { <pending> }
最佳答案
你不能 await
超出 async
范围的东西。要获得预期的结果,您应该将 console.log
包装到异步 IIFE 中,即
async function getData() {
return await axios.get('https://jsonplaceholder.typicode.com/posts');
}
(async () => {
console.log(await getData())
})()
Working
样本。
关于 async/await
的更多信息
由于 axios
返回一个 promise ,因此 getData
函数可以省略 async/await
,如下所示:
function getData() {
return axios.get('https://jsonplaceholder.typicode.com/posts');
}
然后像之前一样做
(async () => {
console.log(await getData())
})()
关于javascript - 如何使用函数中的 async-await 从异步函数返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49938266/