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

如何解决TSLint禁止使用非箭头函数的报错问题

解决TSLint禁止使用传统非箭头函数的报错

问题原因

你遇到的ERROR: non-arrow functions are forbidden报错,来自TSLint的only-arrow-functions规则——该规则被你继承的tslint-config-standard配置启用,强制要求所有函数使用箭头函数写法,但你因需要正确的this指向,必须保留传统函数写法。

解决方案

你可以通过修改tslint.json的规则配置来解决,有两种可选方案:

方案1:完全关闭该规则

在rules对象中添加如下配置,彻底禁用only-arrow-functions规则:

"rules": {
  // 已有的其他规则...
  "only-arrow-functions": false
}

方案2:允许特定场景的传统函数(推荐)

如果你想保留大部分箭头函数的规范,仅放开需要使用this或命名函数的场景,可以配置规则的例外选项:

"rules": {
  // 已有的其他规则...
  "only-arrow-functions": [
    true,
    "allow-declarations",  // 允许命名函数声明(如function myFunction() {})
    "allow-methods"        // 允许类成员方法、对象字面量方法(这些场景依赖this指向)
  ]
}

该配置会允许你使用:

  • 命名的传统函数声明(比如你示例中的function myFunction () {})
  • 类的成员方法、对象字面量中的方法(这些场景下this指向符合预期)
    其他场景仍然会强制使用箭头函数,兼顾代码规范和你的业务需求。

验证修改

修改完成后,重新运行yarn lint命令,即可确认报错已解决。

内容的提问来源于stack exchange,提问作者Sandeep Amarnath

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 02:20:41