Skip to content

Latest commit

Β 

History

History
47 lines (36 loc) Β· 1.25 KB

prefer-blob-reading-methods.md

File metadata and controls

47 lines (36 loc) Β· 1.25 KB

prefer-blob-reading-methods

πŸ“ Prefer Blob#arrayBuffer() over FileReader#readAsArrayBuffer(…) and Blob#text() over FileReader#readAsText(…).

πŸ’Ό This rule is enabled in the following configs: βœ… recommended, β˜‘οΈ unopinionated.

FileReader predates promises, and the newer Blob#arrayBuffer() and Blob#text() methods are much cleaner and easier to use.

Examples

// ❌
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);
});

// βœ…
const arrayBuffer = await blob.arrayBuffer();
// ❌
fileReader.readAsText(blob);

// βœ…
const text = await blob.text();
// βœ…
fileReader.readAsText(blob, 'ascii');
// βœ…
fileReader.readAsDataURL(blob);