我正在使用 webassembly 来获取 JSON 数据,并将其保存到 IndexedDB。我可以设法从 IndexedDB 中将它作为 Int8Array 获取,并将其转换为字符串,然后在它足够小时解析为 JSON,但是当数据太大时会出现错误:
Uncaught RangeError: Maximum call stack size exceeded
控制台日志截图:
负责的代码位:
function ConvertToJSON(result){
console.log("= Converting to JSON =");
console.log(result);
let int8View = new Int8Array(result[0]);
console.log(int8View);
let str = String.fromCharCode.apply(String, int8View); //RangeError when array too large...
let json = JSON.parse(str);
console.log(json);
AddJSONToPage(json);
}
有没有办法绕过这个问题?我是否需要将数组拼接成更小的位并转换,然后将其粘贴在一起,如果需要,我该怎么做?