我想使用 fetch api(https://fetch.spec.whatwg.org/)直接获取 arrayBuffer 。返回数据后,我想使用数组缓冲区。
似乎有时 arrayBuffer() 有效,有时则无效。不起作用我的意思是有时它会返回一个空数组。大多数时候它不起作用。
fetch(url).then(function(response) {
response.arrayBuffer().then(function(buffer){
results[i] = buffer;
});
});
如果我调用 blob() 并通过 FileReader 将其转换为数组缓冲区,它总是可以工作的。
fetch(url).then(function(response) {
response.blob().then(function(buffer){
results[i] = buffer;
});
});
...
var myReader = new FileReader();
myReader.addEventListener("loadend", function(e){
// ALWAYS GOOD
var byteArray = new Uint8Array(e.srcElement.result);
});
myReader.readAsArrayBuffer(results[0]);
还有现场演示: http ://codepen.io/nicolasrannou/pen/OVLyjX
我做错了什么还是一个错误?
谢谢,尼古拉斯