当前位置:  开发笔记 > 编程语言 > 正文

在节点7.4中使用async/await

如何解决《在节点7.4中使用async/await》经验,为你挑选了2个好方法。

我认为在节点7.4中支持async/await,但是这个例子不起作用:

const Promise = require('bluebird');

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

main();

结果是:

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

如何在节点7.4中使用async/await?



1> Jyotman Sing..:

是的.在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(含)之间时才需要使用该标志.有关完整的changelog参考这里.



2> 小智..:

Node.js 7.6.0几个小时前发布,它们包括v8 5.5.现在你可以使用没有标志的async/await.

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有