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]);
}