gpt4 book ai didi

javascript - Closure js 框架 - 将 ArrayBuffer 转换为字符串

转载 作者:行者123 更新时间:2023-12-02 16:17:40 26 4
gpt4 key购买 nike

我正在开发一个使用 closure framework 的 JavaScript 应用程序(https://github.com/google/shaka-player)。

我收到带有 403 响应的 ajax 响应,我需要解析响应正文以确定详细信息。

xhr_.responseType 设置为 arraybuffer - 所以我希望能够将响应转换为字符串以读取其内容:

if (this.xhr_.responseType == 'arraybuffer')
{
var ab = new Uint8Array(this.xhr_.response);
console.log(this.xhr_.response);
console.log(ab);
}

使用闭包框架构建时,出现以下错误:

./build/../build/../lib/util/ajax_request.js:441: ERROR - actual parameter 1 of Uint8Array does not match formal parameter
found : *
required: (Array.<number>|ArrayBuffer|ArrayBufferView|null|number)
var ab = new Uint8Array(this.xhr_.response);

所以我发现无法将响应传递到 Uint8Array 构造函数中。有没有办法转换响应以保持关闭安静?

最佳答案

如果responsetype是arraybuffer,那么你需要以这种方式循环:

if (this.xhr_.responseType == 'arraybuffer')
{
var ab = new Uint8Array(this.xhr_.response);
for (var i = 0, buffer = ''; i < ab.length; i++)
{
buffer += String.fromCharCode(payload[i]);
}

}

希望这对您有帮助。

关于javascript - Closure js 框架 - 将 ArrayBuffer 转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29431168/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com