unicorn/no-single-promise-in-promise-methods 正确性
它做了什么
禁止向 Promise 方法传递单元素数组
为什么这是不好的?
向 Promise.all()、Promise.any() 或 Promise.race() 传递单元素数组很可能是错误的。
示例
此规则的 错误 代码示例:
javascript
async function bad() {
const foo = await Promise.all([promise]);
const foo = await Promise.any([promise]);
const foo = await Promise.race([promise]);
const promise = Promise.all([nonPromise]);
}此规则的 正确 代码示例:
javascript
async function good() {
const foo = await promise;
const promise = Promise.resolve(nonPromise);
const foo = await Promise.all(promises);
const foo = await Promise.any([promise, anotherPromise]);
const [{ value: foo, reason: error }] = await Promise.allSettled([promise]);
}如何使用
通过配置文件或 CLI 启用此规则,可以使用:
json
{
"rules": {
"unicorn/no-single-promise-in-promise-methods": "error"
}
}bash
oxlint --deny unicorn/no-single-promise-in-promise-methods