Rule: await-promise
Warns for an awaited value that is not a Promise.
Rationale
While it is valid JavaScript to await a non-Promise-like value (it will resolve immediately), this pattern is often a programmer error and the resulting semantics can be unintuitive.
Awaiting non-Promise-like values often is an indication of programmer error, such as forgetting to add parenthesis to call a function that returns a Promise.
Notes:
Config
A list of ‘string’ names of any additional classes that should also be treated as Promises. For example, if you are using a class called ‘Future’ that implements the Thenable interface, you might tell the rule to consider type references with the name ‘Future’ as valid Promise-like types. Note that this rule doesn’t check for type assignability or compatibility; it just checks type reference names.
Config examples
"await-promise": true
"await-promise": [true, "Thenable"]
Schema
{
"type": "list",
"listType": {
"type": "array",
"items": {
"type": "string"
}
}
}