Rule: promise-function-async
Requires any function or method that returns a promise to be marked async.
Rationale
Ensures that each function is only capable of 1) returning a rejected promise, or 2) throwing an Error object. In contrast, non-async Promise-returning functions are technically capable of either. This practice removes a requirement for consuming code to handle both cases.
If no optional arguments are provided then all function types are checked, otherwise the specific function types are checked:
"check-function-declaration"check function declarations."check-function-expression"check function expressions."check-arrow-function"check arrow functions."check-method-declaration"check method declarations.
Notes:
Config
Not configurable.
Config examples
"promise-function-async": true
"promise-function-async": [true, "check-function-declaration", "check-method-declaration"]
Schema
{ "type": "array", "items": { "type": "string", "enum": [ "check-function-declaration", "check-function-expression", "check-arrow-function", "check-method-declaration" ] }, "minLength": 0, "maxLength": 4 }