当前位置: 首页 > 面试题库 >

Node.js 7.5上的``等待意外标识符''

红甫
2023-03-14
问题内容

我正在尝试使用awaitNode.js中的关键字。我有这个测试脚本:

"use strict";
function x() {
  return new Promise(function(resolve, reject) {
    setTimeout(function() {
      resolve({a:42});
    },100);
  });
}
await x();

但是当我在节点上运行它时

await x();
      ^
SyntaxError: Unexpected identifier

是否在Mac上使用Node.js 7.5或Node.js 8(每晚构建)使用nodenode --harmony-async- await在Node.js’repl’中运行它。

奇怪的是,相同的代码在Runkit

我究竟做错了什么?


问题答案:

多亏了其他评论者和其他一些研究await,才可以在一个async函数中使用,例如

async function x() {
  var obj = await new Promise(function(resolve, reject) {
    setTimeout(function() {
      resolve({a:42});
    },100);
  });
  return obj;
}

然后,我可以将此功能用作Promise,例如

x().then(console.log)

或在另一个异步功能中。

令人困惑的是,Node.js复制代码不允许您执行

await x();

就像RunKit笔记本环境一样。



 类似资料:
  • 问题内容: 我刚刚在计算机上安装了MySQL,当我尝试从MySQL Shell创建数据库时,出现此错误: 有人知道为什么会这样吗?MySQL的安装有问题吗? 问题答案: 通过在这里查看该线程,您似乎可以在js模式下使用shell,您可以通过使用switch来将其关闭 https://forums.mysql.com/read.php?10,661192,661203#msg-661203

  • 在jQuery-UI自动完成时,我得到了一个我不理解的SyntaxError。 下面是我的代码: PHP jQuery 自动完成与我的数据库的每一列工作,但不是与“tinytext”类型的“面额”一个。 我只有带有特殊字符(-、#..)的文本 有人知道它为什么不起作用吗? 谢谢

  • 问题内容: 我的两种情况- 1)首先 这使驱动程序有45秒的时间来搜索文本(这是预期的) 2)第二 现在这使驱动程序有 30秒的时间 来搜索文本(不需要) 有没有一种方法可以让selenium仅等待等待时间,而不等待两者中的较大者? 注意-不声明隐式等待时间不是一种选择,因为每次驱动程序无法找到东西时,我都无法让selenium挂起。 使用Selenium版本30,Windows,ff 问题答案:

  • 我正在查看https://github.com/intoli/remote-browser.我在win10中使用节点11.5工作。我遵循了回购底部的说明: 现在,当我尝试使用以下命令运行它时: 我怎样才能让它工作? 编辑索引。js: 编辑2:

  • 我最近更新到Android Studio 2.3,现在当我尝试运行应用程序时,模拟器不会上线。它在300秒后超时。 此外,该应用程序一直遇到致命异常错误(OOM),我不确定如何修复它,或者这是否是模拟器问题的一部分。 非常感谢您的帮助。再说一次,我对这个项目的了解非常有限,所以如果你的答案能保持简单,那就太好了。