You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用async函数时ESLint报Parsing error: Unexpected token function错误求助

解决ESLint解析Async函数时的"Unexpected token function"错误

我看到你在使用async函数时遇到了ESLint解析错误,报错信息是Parsing error: Unexpected token function with async,结合你的配置和代码,我们可以从以下几个方面排查解决:

1. 修正ECMAScript版本配置的写法

你的.eslintrc里设置了ecmaVersion: 8(对应ES2017,原生支持async/await),但部分ESLint版本对数字格式的版本号识别可能存在兼容性问题。建议改成字符串格式的版本标识,同时明确指定代码的模块类型,避免解析时出现异常:

修改parserOptions部分如下:

"parserOptions": {
  "ecmaVersion": "2017",
  "sourceType": "module"
}

sourceType: "module"会告诉ESLint你的代码是ES模块风格,更贴合现代JS项目的写法规范。

2. 检查ESLint与Airbnb配置的版本兼容性

eslint-config-airbnb-base对ESLint的版本有严格要求,如果两者版本不匹配,可能导致语法解析异常:

  • 查看package.json里的ESLint版本,确保至少是v4.0.0以上(该版本开始完整支持ES2017语法解析)
  • 若版本不兼容,升级ESLint到对应版本,或安装匹配的eslint-config-airbnb-base:比如ESLint v8.x搭配eslint-config-airbnb-base@15.x,ESLint v5.x搭配eslint-config-airbnb-base@13.x

3. 调整func-style规则(非解析错误,但需注意)

你设置了"func-style":"error",该规则默认要求使用函数声明(function get() {})而非函数表达式。你的代码是命名函数表达式(const get = async function get() {}),这会触发该规则的lint错误,但不会导致解析错误。如果想保留当前写法,可以修改规则允许函数表达式:

"func-style": ["error", "expression"]

验证修改

修改配置后,重新运行ESLint检查你的async函数代码,解析错误应该会消失。如果问题仍然存在,可以尝试删除node_modules和package-lock.json,重新安装所有依赖,确保依赖没有冲突。

内容的提问来源于stack exchange,提问作者shamon shamsudeen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:10:37