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();
}