promise-function-async
Require any function or method that returns a Promise to be marked async.
Some problems reported by this rule are automatically fixable by the --fix
ESLint command line option.
This rule requires type information to run.
Ensures that each function is only capable of:
- returning a rejected promise, or
- throwing an Error object.
In contrast, non-async
, Promise
-returning functions are technically capable of either.
Code that handles the results of those functions will often need to handle both cases, which can get complex.
This rule's practice removes a requirement for creating code to handle both cases.
When functions return unions of
Promise
and non-Promise
types implicitly, it is usually a mistakeβthis rule flags those cases. If it is intentional, make the return type explicitly to allow the rule to pass.
module.exports = {
"rules": {
"@typescript-eslint/promise-function-async": "error"
}
};
Try this rule in the playground β
Examplesβ
Examples of code for this rule
- β Incorrect