如何从异步函数返回值?

const axios = require('axios');
async function getData() {
    const data = await axios.get('https://jsonplaceholder.typicode.com/posts');
    return data;
}
console.log(getData());

它还给我这个,

Promise { <pending> }

推荐答案

你不能在async范围之外做await件事.为了得到预期的结果,你应该把你的console.log打包成异步的iLife

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())
})()

Node.js相关问答推荐

使用OpenAI API时遇到问题

CloudTasksClient在Firebase Function % s onDocumentCreated中实例化时导致错误

如何在Firebase Cloud Function v2计划函数中设置代码中的时区?

为什么这个verifyToken函数从未被调用过?

尽管 tsconfig 中提供了正确的路径,但仍出现找不到模块错误

NPM如何管理node_modules传递依赖?

NodeJS `request` 库无法通过 multipart-form-data 将文件发布到 dotnet 服务器

为什么运行 yarn 命令会出错 - yargs-parser的完整性判断失败

在 React 和 Socket.io 中使用 Effect 钩子重新渲染两次

Electron 模板(Typescript + Webpack)中的这个 Electron Forge ERROR 是什么?

Node.js |如何在微服务之间转发标头?

fs.writefile 选项参数的可能值,尤其是只读文件的整数

Aptana Studio 是否有 NodeJS 插件?

Nodejs-console.error vs util.debug

Connect/Express 中的session和cookieSession中间件有什么区别?

如何将`yarn.lock`与`package.json`同步?

如何让should.be.false语法通过 jslint?

create-react-app,安装错误(找不到命令)

Express js 阻止 GET /favicon.ico

`return function *(){...}` 是什么意思?