我有一些无限循环的 JS 代码(我们使用节点纤维来允许事情发生)。
ESLint 讨厌:
while (true) {
}
因为恒定的条件。
但以下是允许的:
for(;;) {
}
除了喂 lintbeast 之外,还有什么客观的理由支持for
(while
反之亦然)吗?
注意:这个问题明确要求客观原因,因此不仅仅是基于意见。
我有一些无限循环的 JS 代码(我们使用节点纤维来允许事情发生)。
ESLint 讨厌:
while (true) {
}
因为恒定的条件。
但以下是允许的:
for(;;) {
}
除了喂 lintbeast 之外,还有什么客观的理由支持for
(while
反之亦然)吗?
注意:这个问题明确要求客观原因,因此不仅仅是基于意见。
这些关于无限循环的规则来自于生成器出现之前,甚至不知道光纤。
在假设每个函数都不会挂起和返回(如生成器、async
-keyword 函数或纤程)的假设下,该规则对警告循环中的常量很有意义。
现在时代变了——规则不再有意义,你所做的一切都很好。
如果我们检查eslint 存储库,它同时被讨论并被认为“不够重要,无法承认”:
我认为这作为内置异常没有意义。如果您这样做,那么最好使用注释手动禁用生成器中的规则。
提出了解决方法for(;;)
,但所有相关人员都明白这是针对这种特殊情况的一种破解方法。
禁用规则。