跳到內容

unicorn/prefer-blob-reading-methods 吹毛求疵

🚧 自動修正功能仍在開發中。

功能說明

建議使用 Blob#text()Blob#arrayBuffer() 取代 FileReader#readAsText()FileReader#readAsArrayBuffer()

為什麼這是不好的?

FileReader 早於 Promise 出現,而較新的 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);
  });
}

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

參考資料

以 MIT 許可證發布。