获取数组缓冲区随机行为

时间:2015-04-17 08:53:26

标签: blob ecmascript-6 arraybuffer fetch-api

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

我做错了什么还是错误?

谢谢, 尼古拉斯

0 个答案:

没有答案