了解什么是ArrayBuffer以及如何使用它
就像Blob是磁盘上可用数据的不透明表示一样,ArrayBuffer是内存中可用字节的不透明表示.
构造函数需要一个参数,即以字节为单位的长度。
const buffer = new ArrayBuffer(64)
一个ArrayBuffer值有一个(只读)属性。byteLength顾名思义,它以字节为单位表示其长度。
它还提供了一个slice() 实例方法,从一个现有的ArrayBuffer ,取一个起始位置和一个可选的长度。
const buffer = new ArrayBuffer(64)
const newBuffer = buffer.slice(32, 8)
以ArrayBuffer的形式从互联网上下载数据
我们可以使用XHR从互联网上下载一个blob并将其存储到一个ArrayBuffer中。
const downloadBlob = (url, callback) => {
const xhr = new XMLHttpRequest()
xhr.open('GET', url)
xhr.responseType = 'arraybuffer'
xhr.onload = () => {
callback(xhr.response)
}
xhr.send(null)
}