Skip to content

unicorn/no-useless-promise-resolve-reject Pedantic

🛠️ An auto-fix is available for this rule.

What it does

Disallows returning values wrapped in Promise.resolve or Promise.reject in an async function or a Promise#then/catch/finally callback.

Why is this bad?

Wrapping a return value in Promise.resolve in an async function or a Promise#then/catch/finally callback is unnecessary as all return values in async functions and promise callback functions are already wrapped in a Promise. Similarly, returning an error wrapped in Promise.reject is equivalent to simply throwing the error. This is the same for yielding in async generators as well.

Examples

Examples of incorrect code for this rule:

javascript
async () => Promise.resolve(bar);

Examples of correct code for this rule:

javascript
async () => bar;

References

Released under the MIT License.