Skip to content

promise/prefer-await-to-callbacks Style

What it does

The rule encourages the use of async/await for handling asynchronous code instead of traditional callback functions. async/await, introduced in ES2017, provides a clearer and more concise syntax for writing asynchronous code, making it easier to read and maintain.

Why is this bad?

Using callbacks can lead to complex, nested structures known as "callback hell," which make code difficult to read and maintain. Additionally, error handling can become cumbersome with callbacks, whereas async/await allows for more straightforward try/catch blocks for managing errors.

Examples

Examples of incorrect code for this rule:

js
cb();
callback();
doSomething(arg, (err) => {});
function doSomethingElse(cb) {}

Examples of correct code for this rule:

js
await doSomething(arg);
async function doSomethingElse() {}
function* generator() {
  yield yieldValue((err) => {});
}
eventEmitter.on("error", (err) => {});

References

Released under the MIT License.