Skip to content

Disallow passing single-element arrays to Promise methods ​

💼 This rule is enabled in the ✅ recommended config.

🔧💡 This rule is automatically fixable by the --fix CLI option and manually fixable by editor suggestions.

Passing a single-element array to Promise.all(), Promise.any(), or Promise.race() is likely a mistake.

Fail ​

js
const foo = await Promise.all([promise]);
js
const foo = await Promise.any([promise]);
js
const foo = await Promise.race([promise]);
js
const promise = Promise.all([nonPromise]);

Pass ​

js
const foo = await promise;
js
const promise = Promise.resolve(nonPromise);
js
const foo = await Promise.all(promises);
js
const foo = await Promise.any([promise, anotherPromise]);
js
const [{value: foo, reason: error}] = await Promise.allSettled([promise]);

Released under the Apache License 2.0.