一尘不染

在节点7.4中使用异步/等待

node.js

我认为节点7.4支持异步/等待,但是此示例不起作用:

const Promise = require('bluebird');

async function main(){
  await Promise.delay(1000)
}

main();

结果是:

async function main(){
      ^^^^^^^^
SyntaxError: Unexpected token function

如何在节点7.4上使用异步/等待?


阅读 181

收藏
2020-07-07

共1个答案

一尘不染

是的,Node.js v7支持async-await,但将其锁定在harmony标志后面。尚未准备就绪的功能不在此标记后面。

要在Node.js v7中使用async-await,只需使用此标志运行Node服务-

node --harmony-async-await app.js

async-await的正式发行版预定于4月启动的Node.js v8。

您可以按照拉取请求检查其状态。基本上,async-
await的正确功能取决于将V8引擎v5.5集成到Node.js中。当前,Node.js使用V8 v5.4,此请求请求已解决该问题。

更新1- 似乎V8 v5.5即将加入Node.js
v7。请遵循请求请求以获取更多详细信息。

更新2- 好消息!Node.js版本7.6.0现在正式支持async功能,而无需使用该--harmony标志,因为V8引擎5.5已成功移植。

现在,仅--harmony当您的Node.js版本在7.0到7.5.0(含)之间时,才需要使用该标志。有关完整的变更日志,请参见此处

2020-07-07