Nodejs异步功能不适用于每个功能[重复]

Posted

技术标签:

【中文标题】Nodejs异步功能不适用于每个功能[重复]【英文标题】:Nodejs async function not working in every function [duplicate] 【发布时间】:2019-01-01 07:49:49 【问题描述】:

是的,之前有人问过这个问题,但我找不到任何适合我的解决方案。 所以我刚买了一个新的 VPS(Ubuntu 14.04)来开发,因为我不想再在我的主 VPS 上工作了。 我已将 Main VPS(一切正常)中的每个文件复制粘贴到我的新 VPS,安装了所有内容,现在想启动我的 nodejs 应用程序。

但是我收到以下错误:

async function helpme()
      ^^^^^^^^

SyntaxError: Unexpected token function

我的代码:

var async = require('async');
async function helpme()

     console.log('Thanks for helping!');

helpme() 函数显然只是一个测试函数,所以我不需要复制粘贴并向您展示我面临同样问题的完整函数。 基本上,这个错误在我使用异步的任何地方都会发生,所以它需要以某种方式被打破,但我不知道。

我已经多次安装 async (npm async) 但我找不到修复它的方法。

知道为什么会发生这个错误吗?

提前致谢!

【问题讨论】:

你的 node js 版本是多少? async 需要一个支持 ES6 的版本,我不知道 async lib 做了什么,但你有没有尝试更改变量名? 另外,异步模块 (require('async')) 的语法与 async/await 的语法不同。你想用哪个?见npmjs.com/package/async @user3080953,不应该这样,async函数用来代替promise和callbacks的复杂性 @Basil 我意识到这一点,但为什么 OP 调用 require('async') 来获得异步?这是一种语言功能,而不是库 【参考方案1】:

async..await 支持已在 Node 7.6 中添加。该错误表示当前使用的Node版本较低。

同时使用async 库和async..await 基于promise 的控制流没有多大意义,但变量被称为async 的事实不会导致问题。 async is not a reserved keyword,因为同名标识符不干预async函数语法。

【讨论】:

以上是关于Nodejs异步功能不适用于每个功能[重复]的主要内容,如果未能解决你的问题,请参考以下文章

从每个回调调用中获取异步nodejs值[重复]

Ienumerable concat不适用于每个循环[重复]

使用 JavaScript 裁剪图像适用于 IE,但不适用于 Firefox [重复]

time.sleep 不适用于范围或列表中的每个项目[重复]

如何承诺此功能-nodejs [重复]

OnChange 不适用于单选按钮 [重复]