Я использую веб-сборки для извлечения данных JSON и сохранения их в IndexedDB. Мне удается получить его как Int8Array из IndexedDB, преобразовать в строку и затем проанализировать в 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);
}
Есть ли способ обойти эту проблему? Нужно ли разбивать массив на более мелкие биты и преобразовывать, затем вставлять его вместе, и если да, то как мне это сделать?