【发布时间】:2023-03-23 03:08:01
【问题描述】:
有时,我会收到 TSLint 错误“块为空”。发生这种情况,例如当我将无操作回调传递给函数时:
doSomething(() => {});
根据我的阅读,JSLint 显然也是如此,但我没有验证。
我发现这些用法完全有效,所以我试图找到一个为什么空块被认为是坏的原因。但我唯一能找到的(例如在this answer 中)是添加return; 以避免错误的说明。这不是我想在每个空回调中做的。
为什么 TSLint 将空块上方报告为问题?我有什么理由不应该禁用检查?
【问题讨论】:
-
从未使用过;只是大声思考:TSLint 抱怨的时间可能是它认为函数应该返回一个值而你的无操作函数没有这样做吗?您也许可以定义一个显式的无操作函数,并在这种调用中传递它的名称。
-
@TripeHound 不,即使我为回调指定了显式类型的
(() => void),TSLint 也会抱怨。关于 noop:我刚刚发现 lodash 已经定义了一个:_.noop。这是迄今为止最干净的解决方案... -
@danwellman 是的,但这会将返回类型从
void更改为空对象。
标签: typescript jslint tslint