Console.log不能在异步功能中工作

时间:2017-01-30 16:52:42

标签: javascript async-await ecmascript-2017

我试图在异步函数中记录语句,如下所示:

async generateCharts (insights) {
  const { url } = await this.reportsClient.createReport(insights)
  console.log('url from reports', url)
  return this.parse(url)
}

日志语句虽然没有显示,但由于异步功能,我确定它已经确定了。那是对的吗?无论如何要解决这个问题?

2 个答案:

答案 0 :(得分:5)

你的例子缺乏上下文,但恕我直言,因为你的createReport函数永远不会满足。 没有其他原因导致console.log无法执行。

答案 1 :(得分:2)

  

请注意,在异步函数中吞下错误"静默" -   就像普通的Promises 一样。除非我们添加try / catch块   等待表达式,未捕获的异常 - 无论是否   它们是在异步函数的主体中或者在它的同时被提升的   在等待期间暂停 - 将拒绝异步返回的承诺   功能

javascript-async-await#error-handling

相关问题