Skip to content
← Back to rules

promise/prefer-await-to-callbacks スタイル

何をするか

このルールは、従来のコールバック関数ではなく、async/await を使って非同期コードを扱うことを推奨します。async/await は ES2017 で導入されたもので、非同期コードを書くためのより明確で簡潔な構文を提供し、読みやすく、保守しやすくなります。

なぜ問題なのか

コールバックを使用すると、「コールバックヘル」と呼ばれる複雑でネストされた構造になりがちで、コードの読解や保守が困難になります。さらに、エラー処理もコールバックでは煩わしくなりがちですが、async/await を使うことで、エラー管理により直感的な try/catch ブロックを利用できます。

このルールに対して誤りなコードの例:

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

このルールに対して正しいコードの例:

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

使い方

このルールを設定ファイルまたは CLI で有効化するには、次のように使用します:

json
{
  "plugins": ["promise"],
  "rules": {
    "promise/prefer-await-to-callbacks": "error"
  }
}
bash
oxlint --deny promise/prefer-await-to-callbacks --promise-plugin

参照