javascript - 从 JavaScript 中的异步函数返回值?

标签 javascript async-await babeljs ecmascript-2016

我有以下片段

"use strict"

const req = require('requisition');

async function doRequest () {
  const url = 'http://api.com/v3/search?q=breno'
  const res = await req.get(url)

  console.log(res.status)

  const body = await res.json();

  return "it Works!"
}


console.log(doRequest())

请求工作正常,但 console.log() 产生:

{}
200

代替

200
"it Works!"

当我尝试:

console.log(await doRequest())

我收到一个意外 token 错误

最佳答案

async 函数返回promises。在顶层,您必须“订阅” promise :

doRequest().then(result => console.log(result));

关于javascript - 从 JavaScript 中的异步函数返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33658820/

相关文章:

c# - 使用异步 lambda 的并行 foreach

python - asyncio 错误地警告流对象被垃圾收集;显式调用 "stream.close()"

javascript - 如何在目录模式下更改 babel-cli 输出的文件名?

javascript - 将 async/await 与 babel 一起使用 - 要求 ("babel-polyfill") 行不在构建文件的顶部

javascript - 如何在firebase上自动删除消息

javascript - 正则表达式句点匹配

javascript - 如何使用javascript在表单上获取运行总计

javascript - css属性的自定义

asp.net-mvc - 并行 Blob 上传间歇性抛出 404 Bad Request

javascript - Webpack 错误,加载 block 失败