FileReaderSync是以
同步的方式读取File
或Blob
对象中的内容,但是由于它是同步读取的,会造成主线程的阻塞,在读取的内容过大时会感受到明显的卡顿,所以该接口限制了使用的范围(只能在webworker中使用)。
一、FileReaderSync的方法
方法 | 作用 | 参数 | 返回值 |
readAsArrayBuffer() | 读取blob或者File对象的内容 | File/Blob | 读取内容的二进制字符串 |
readAsBinaryString()(被上一个替代) | 读取blob或者File对象的内容 | File/Blob | 读取内容的二进制字符串 |
readAsText() | 读取blob或者File对象的内容 | File/Blob | 读取内容为文本字符串 |
readAsDataURL() | 读取blob或者File对象的内容 | File/Blob | 读取内容为为数据URL |
二、FileRaderSync的使用
var reader = new FileReaderSync();
var result = reader.readAsText(blob);//同步读取,直接用变量接收读取的返回值即可
注意:
1、使用的方式基本相当于FileReader,不过是以同步的形式读取。
2、FileReaderSync是同步读取文件内容,所以只能在webworker中使用,不然会造成主线程的阻塞。