the*_*Dmi 34 jslint typescript tslint
有时,我得到TSLint错误"块是空的".例如,当我将无操作回调传递给函数时,会发生这种情况:
doSomething(() => {});
Run Code Online (Sandbox Code Playgroud)
从我读到的,JSLint显然也是这样,但我没有验证.
我发现这些用法完全有效,所以我试图找出为什么空块被认为是坏的原因.但我唯一能找到的东西(例如在这个答案中)是添加a return;以避免错误的指令.这不是我想要在每个空回调中做的事情.
为什么TSLint报告上面的空块是问题?我有什么理由不禁用支票吗?
bas*_*rat 60
为什么TSLint报告上面的空块是问题
为了防止错误.也许这个功能被遗忘了.推荐() => undefined为noop.
如果要禁用它,只需添加"no-empty": false,到您的tslint.json(全局禁用)或使用/* tslint:disable:no-empty */注释内联禁用它.
Fen*_*ton 13
与所有支票一样,您可以最终判断他们是否在帮助您.您可以使用以下选项之一关闭此TSLint检查.
禁用tslint.json中的规则
//...
"no-empty": false,
//...
Run Code Online (Sandbox Code Playgroud)
禁用文件中的规则:
/* tslint:disable:no-empty */
Run Code Online (Sandbox Code Playgroud)
如果将来某个时候发现导致问题的空块,您可以随时重新打开它.
Est*_*ask 10
一种抑制错误并故意指定空块的方法是暂时禁用规则:
// tslint:disable-next-line:no-empty
doSomething(() => {});
Run Code Online (Sandbox Code Playgroud)
或者让它非空:
doSomething(() => {/**/});
Run Code Online (Sandbox Code Playgroud)
如果您觉得在某些情况下不想使用回调,您可以修改代码
从
doSomething(() => {});
Run Code Online (Sandbox Code Playgroud)
到
doSomething(() => undefined);
Run Code Online (Sandbox Code Playgroud)
将 () => {} 替换为 this 意味着您不关心此回调。显式类型转换将避免影响。
祝你好运。
tslint v5.10.0引入了专门针对这种情况"allow-empty-functions"的选项"no-empty";
另外"allow-empty-catch"(在v5.5.0中引入)可能有用:
"no-empty": [true, "allow-empty-functions", "allow-empty-catch"]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14110 次 |
| 最近记录: |