假设我们有两个互相调用的函数:
const a = () => {
console.log("a");
if (Math.random() > 0.9) {
// Dodging infinite recursion.
return;
}
b(); // 'b' was used before it was defined. (@typescript-eslint/no-use-before-define) eslint
};
const b = () => {
console.log("b");
a();
};
这个答案中的第一种方法(
/* global b */
位于文件顶部)对我来说不起作用,而我认为在初始化之前使用const
声明变量是不可能的。
那么处理这个 linting 错误的最佳方法是什么?
我认为如果在分配函数之前声明变量就可以了。像这样的东西:
let a: () => void, b: () => void;
a = () => {...}
b = () => {...}
不确定这比忽略上述行的规则或完全禁用该规则更好。
尝试像这样声明你的函数
function a(){
console.log('say something');
}