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

时间:2015-11-11 19:58:20

标签: javascript async-await babeljs ecmascript-7

我有以下代码段

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

我收到Unexpected Token错误

1 个答案:

答案 0 :(得分:2)

async个函数返回承诺。在顶级,您必须"订阅"承诺:

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