Skip to content
← Back to rules

unicorn/prefer-blob-reading-methods 細心な

An auto-fix is available for this rule.

何をするか

FileReader#readAsText() および FileReader#readAsArrayBuffer() の代わりに、Blob#text()Blob#arrayBuffer() を使用することを推奨します。

なぜ問題か

FileReader はプロミスの登場以前の技術であり、新しい Blob#arrayBuffer() および Blob#text() メソッドははるかにシンプルで使いやすいです。

このルールに違反する不適切なコード例

javascript
async function bad() {
  const arrayBuffer = await new Promise((resolve, reject) => {
    const fileReader = new FileReader();
    fileReader.addEventListener("load", () => {
      resolve(fileReader.result);
    });
    fileReader.addEventListener("error", () => {
      reject(fileReader.error);
    });
    fileReader.readAsArrayBuffer(blob);
  });
}

このルールに従う正しいコード例

javascript
async function good() {
  const arrayBuffer = await blob.arrayBuffer();
}

使い方

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

json
{
  "rules": {
    "unicorn/prefer-blob-reading-methods": "error"
  }
}
bash
oxlint --deny unicorn/prefer-blob-reading-methods

参照