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
}