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