unicorn/prefer-blob-reading-methods Pedantic
What it does
Recommends using Blob#text()
and Blob#arrayBuffer()
over FileReader#readAsText()
and FileReader#readAsArrayBuffer()
.
Why is this bad?
FileReader
predates promises, and the newer Blob#arrayBuffer()
and Blob#text()
methods are much cleaner and easier to use.
Example
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();
}