我认为节点7.4支持异步/等待,但是此示例不起作用:
const Promise = require('bluebird');
async function main(){
await Promise.delay(1000)
}
main();
结果是:
async function main(){
^^^^^^^^
SyntaxError: Unexpected token function
如何在节点7.4上使用异步/等待?
是的,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(含)之间时,才需要使用该标志。有关完整的变更日志,请参见此处。
问题内容: 我认为节点7.4支持异步/等待,但是此示例不起作用: 结果是: 如何在节点7.4上使用异步/等待? 问题答案: 是的,Node.js v7支持async-await,但将其锁定在标志后面。尚未准备就绪的功能不在此标记后面。 要在Node.js v7中使用async-await,只需使用此标志运行Node服务- async-await的正式发行版预定于4月启动的Node.js v8。 您
问题内容: 我对节点还很陌生,我刚刚了解了javascript中提供的async和await函数。我正在尝试在下面随附的代码段中实现此方法。以我的理解,数据库响应应该首先打印到控制台,然后“完成”,但是我无法使其正常工作。任何帮助将不胜感激。 也请尝试说明您所做的修复操作,因为我想了解我做错了什么。 问题答案: 您的函数中没有语句。 通常,这将导致函数返回,但是由于您声明了它,因此它导致其返回 立
我想进行一个基于当前状态的API调用,但不能使setState函数作为异步函数工作。 给我错误: 类型为“”的参数(状态:只读)= 如果我在setState方法之外获取数据,它会起作用,但我害怕对过时的页码进行API调用:
问题内容: 我有一个使用一些异步功能的节点应用程序。 在继续进行其余的应用程序流程之前,我该如何等待异步功能完成? 下面有一个简单的示例。 在示例中,要返回的元素“ ”必须为5而不是1。如果应用程序不等待异步功能,则等于1。 谢谢 问题答案: 使用回调机制: 使用异步等待
我有以下代码,这是通过Express调用的API。我需要返回一个引号数组,以及与这些引号相关联的部分数组。为此,我使用async/wait,它在我的引号变量中正常工作,但我在部件变量中得到一个空数组。 我相信这与部分结果是挂起的promise有关,因为当我在循环中记录我的结果时,我得到了适当的值。 我怀疑我一定是误解了async/await是如何工作的,或者promises/Promise是如何工
问题内容: 在节点版本8中可用。该代码本来是在nodejs中第一次线性执行。那很好。早先的许多文章声称,在v8 javascript引擎中,带有block 的函数未优化。现在,需要块来处理错误。那么,作为开发人员,需要做些什么来保持相同的性能? 问题答案: 在针对V8 (节点及更高版本)的提交中获得了TurboFan优化。这意味着具有不良性能的历史性说法不再正确。 从V8博客文章: 过去,V8难以