【发布时间】:2022-01-12 19:10:16
【问题描述】:
我有一些在多个项目中使用过的异步函数,但是当我将它们添加到另一个项目时,它们突然不起作用。
这些功能之一的示例是:
const ddbGet = async (params) => {
try {
const data = await docClient.get(params).promise();
return data;
} catch (err) {
console.log("Failure", err.message);
return false;
}
};
抛出的错误是:
const ddbGet = async (params) => {
^
SyntaxError: Unexpected token (
但是我知道函数的语法没有问题,因为它们已在其他地方成功使用。
我已经看到了一些其他问题的答案,这些答案表明 JSHint 和 ESLint 存在一些问题,但是我不相信我正在使用其中任何一个,但只是为了确保我安装了 ESLint 并按照那些建议指定了 ECMA 版本答案,这个错误仍然被抛出。
我还确保我使用的是最新版本的 Node.js。
如果我删除这些函数,则会由于 node_modules 文件夹中的异步函数而引发错误。
async handshake(transportName, req, closeConnection) {
`^^^^^^^^^`
语法错误:意外的标识符
有人知道问题出在哪里吗?谢谢。
【问题讨论】:
-
node -v告诉你什么?您的问题显然是由于某种原因您的 JavaScript 平台已经过时了。 -
什么是抛出错误?浏览器?构建?
-
示例代码在eslint中没有抛出任何错误
-
@Pointy v17.2.0,我在第一次抛出错误时安装了最新版本,希望它能解决它!可惜没有
-
如果您使用的是 IDE(例如 WebStorm,我只知道它),请确保配置没有在 .idea 中混淆。您很可能为一个项目使用旧的 NodeJS 解释器,而为另一个项目使用最新的解释器。如果您通过上述 IDE 运行脚本,请务必重新进行配置。编辑:OP 的最后评论使我的评论毫无用处,但保留给可能遇到此问题的其他人。
标签: javascript node.js function asynchronous async-await