javascript - Eslint:如何处理依赖函数的 no-use-before-define?

标签 javascript ecmascript-6 eslint

我有 2 个相互调用的依赖函数,因此必须首先声明一个或另一个,这会触发 eslint no-use-before-define 错误。我知道我可以禁用该规则,但有没有更好的方法来做到这一点?

简化示例:

const a = number => {
  if (number === 0) {
    return b(number);
  }
  
  c(number);
}

const b = number => a(number + 1);

a(0);

我无法合并 ab,因为它们都需要在代码的其他地方单独调用。

最佳答案

您可以使用回调函数或高阶函数。希望这会有所帮助。 请尝试此代码,让我知道它是否适用于您的 linting 规则。

const a = (number, call) => {
  if (number === 0) {
    return call(number);
  }
  c(number);
}

const b = number => a(number + 1, b);

const c = number => console.log(1);

a(0, b);

关于javascript - Eslint:如何处理依赖函数的 no-use-before-define?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56751229/

相关文章:

javascript - 基于鼠标位置滚动,在前台保留点击事件

javascript - 从 JSON 服务器端点获取记录数

webpack - 如何让 eslint 导入/首先理解我的 webpack 别名?

testing - karma-eslint 预处理器不工作

javascript - 无法让 Redux 在生成器函数中运行

reactjs - ESLint: 'Partial' 未在 typescript 中定义

javascript - 在拉斐尔纸中放置一组

javascript - ng-show 没有从指令中捕获 $invalid 的更新值,为什么?

javascript - 无状态函数式组件需要导入 React 吗?

javascript - 当 promise 在 Redux 中间件内解析时,为什么我无法调度操作?