unicorn/prefer-blob-reading-methods 严格
它的作用
推荐使用 Blob#text() 和 Blob#arrayBuffer() 代替 FileReader#readAsText() 和 FileReader#readAsArrayBuffer()。
为什么这是不好的?
FileReader 出现在承诺(promises)之前,而较新的 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