3

我想使用 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

我做错了什么还是一个错误?

谢谢,尼古拉斯

4

0 回答 0