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异步功能不适用于每个功能[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Ienumerable concat不适用于每个循环[重复]
使用 JavaScript 裁剪图像适用于 IE,但不适用于 Firefox [重复]