I’ve had so many cases where what I mean to do was const a = await b()
but I forget to add await
and spending more than I should to figure out why the response body is empty. I’m wondering if there is an eslint rule I can add for this. In rare cases where I want to assign a Promise
to a variable, I’m willing to add a disable eslint line comment.
async function test() {
return Promise.resolve('something')
}
router.get(
'/something',
(req: Request, res: Response) => {
const user = test()
^^^ here I want to see an error for assigning a promise to a variable
return user
}
)
Right now I have following rules which non of them seem to cover my requirement.
"promise/always-return": "error",
"promise/no-return-wrap": "error",
"promise/param-names": "error",
"promise/catch-or-return": "error",
"promise/no-native": "off",
"promise/no-nesting": "error",
"promise/no-promise-in-callback": "error",
"promise/no-callback-in-promise": "error",
"promise/avoid-new": "off",
"promise/no-new-statics": "error",
"promise/no-return-in-finally": "error",
"promise/valid-params": "error",
"promise/no-multiple-resolved": "error",
"@typescript-eslint/no-floating-promises": "error",
"@typescript-eslint/no-misused-promises": [
"error",
{
"checksVoidReturn": false
}
],