unicorn/no-useless-promise-resolve-reject Pedantic
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:
(async () => Promise.resolve(bar));Examples of correct code for this rule:
(async () => bar);Configuration
This rule accepts a configuration object with the following properties:
allowReject
type: boolean
default: false
If set to true, allows the use of Promise.reject in async functions and promise callbacks.
How to use
To enable this rule in the CLI or using the config file, you can use:
oxlint --deny unicorn/no-useless-promise-resolve-reject{
"rules": {
"unicorn/no-useless-promise-resolve-reject": "error"
}
}