DEV Community

Cover image for Most useful eslint rules for networking code (async/await/promises)
Luke Miles
Luke Miles

Posted on

Most useful eslint rules for networking code (async/await/promises)

The main caveat is that you have to use typescript. Put this into the rules section of your .eslintrc.json:

"@typescript-eslint/await-thenable": "error", "@typescript-eslint/require-await": "error", "@typescript-eslint/no-floating-promises": "error" 
Enter fullscreen mode Exit fullscreen mode

You'll also need to tell eslint where your tsconfig file is:

"parserOptions": { "project": "tsconfig.json" } 
Enter fullscreen mode Exit fullscreen mode

Then if you write code like this, where you don't await an asynchronous call:

async function f() { await fetch('a') doSomethingElse() fetch('b') } 
Enter fullscreen mode Exit fullscreen mode

Then you'll get a helpful error message, which pops up over the text in vscode if you're using the eslint extension:

temp.ts 4:5 error Promises must be handled appropriately or explicitly marked as ignored with the `void` operator @typescript-eslint/no-floating-promises 
Enter fullscreen mode Exit fullscreen mode

You'll also get errors if an async function has no awaits or if you await a sync function.

Top comments (1)

Collapse
 
qpwo profile image
Luke Miles

All the rules with more examples and explanation are in here: github.com/typescript-eslint/types...