promise/no-promise-in-callback 可疑
它的作用
禁止在错误优先回调函数中使用 Promises。
为什么这是个问题?
将 Promises 与回调混合使用可能导致代码逻辑不清且不一致。
Promises 和回调是处理异步代码的两种不同模式。
将它们混用会使逻辑流程更难追踪,并使错误处理变得更加复杂,因为回调依赖于“错误优先”模式,而 Promises 使用 catch。
示例
此规则的 错误 代码示例:
js
doSomething((err, val) => {
if (err) console.error(err);
else doSomethingElse(val).then(console.log);
});此规则的 正确 代码示例:
js
promisify(doSomething)().then(doSomethingElse).then(console.log).catch(console.error);如何使用
通过配置文件或 CLI 启用此规则,可以使用:
json
{
"plugins": ["promise"],
"rules": {
"promise/no-promise-in-callback": "error"
}
}bash
oxlint --deny promise/no-promise-in-callback --promise-plugin