如何使用带有arrayBuffer响应类型和React Native的Fetch api?

Gil*_*vik 8 fetch react-native

我目前正在使用我的RN项目的Fetch API.它适用于textjson响应类型,但它不适用于arrayBuffer

let res = await fetch('http://example.com');
let data = await res.arrayBuffer();
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

cra*_*ish 5

似乎尚未将其添加到React Native实现中。同时,它XMLHTTPRequest似乎具有浏览器版本的所有功能。

function get(url) {
    return new Promise((accept, reject) => {
        var req = new XMLHttpRequest();
        req.open("GET", url, true);
        req.responseType = "arraybuffer";

        req.onload = function(event) {
            var resp = req.response;
            if(resp) {
                accept(resp);
            }
        };

        req.send(null);
    });
}

...

let data = await get('http://example.com');
Run Code Online (Sandbox Code Playgroud)

注意:这不是reject针对错误,而是作为练习供读者;)