'Named function expressions should not be used' 的 SonarError 解决方法
Workaround for SonarError for 'Named function expressions should not be used'
const objTimeout = setTimeout(
function firePostMessagesToSubTab() {
if (boolRemoved) {
clearTimeout(objTimeout);
} else {
soneAsyncMethod.then(function () {
setTimeout(firePostMessagesToSubTab, 1000);
});
}
}, 1000);
我写了一个递归的 setTimeout 但我们的声纳过滤器抛出错误
'Named function expressions should not be used'.
有解决办法吗?无法删除声纳规则(客户端...)。此外,我故意使用 setTimeOut 而不是 setInterval,因为 setInterval 不会等待方法完成。
function firePostMessagesToSubTab() {
这里firePostMessagesToSubTab
是函数名。基本上,代码分析工具建议您使用匿名函数或将函数与 setTimeout 调用分开声明。
将您的代码更改为以下,它应该会通过规则
function firePostMessagesToSubTab() {
if (boolRemoved) {
clearTimeout(objTimeout);
} else {
soneAsyncMethod.then(function () {
setTimeout(firePostMessagesToSubTab, 1000);
});
}
}
const objTimeout = setTimeout(firePostMessagesToSubTab, 1000);
const objTimeout = setTimeout(
function firePostMessagesToSubTab() {
if (boolRemoved) {
clearTimeout(objTimeout);
} else {
soneAsyncMethod.then(function () {
setTimeout(firePostMessagesToSubTab, 1000);
});
}
}, 1000);
我写了一个递归的 setTimeout 但我们的声纳过滤器抛出错误
'Named function expressions should not be used'.
有解决办法吗?无法删除声纳规则(客户端...)。此外,我故意使用 setTimeOut 而不是 setInterval,因为 setInterval 不会等待方法完成。
function firePostMessagesToSubTab() {
这里firePostMessagesToSubTab
是函数名。基本上,代码分析工具建议您使用匿名函数或将函数与 setTimeout 调用分开声明。
将您的代码更改为以下,它应该会通过规则
function firePostMessagesToSubTab() {
if (boolRemoved) {
clearTimeout(objTimeout);
} else {
soneAsyncMethod.then(function () {
setTimeout(firePostMessagesToSubTab, 1000);
});
}
}
const objTimeout = setTimeout(firePostMessagesToSubTab, 1000);