javascript函数等待数据可用性或变量无法处理大量数据

标签 javascript function

请原谅这个小问题,但我更习惯 C++ 和 Python 代码,而不是 javascript。

我有来自 THREE JS PLY 加载器的以下代码:

var geometry;
      var scope = this;

      if (data instanceof ArrayBuffer) {

        geometry = isASCII(data) ? parseASCII(bin2str(data)) : parseBinary(data);

      } else {

        geometry = parseASCII(data);

      }



parse: function (data) {

      function isASCII(data) {

        var header = parseHeader(bin2str(data));
        return header.format === 'ascii';

      }

      function bin2str(buf) {

        var array_buffer = new Uint8Array(buf);
        var str = '';

        for (var i = 0; i < buf.byteLength; i++) {

          str += String.fromCharCode(array_buffer[i]); // implicitly assumes little-endian

        }

        return str;

      }

如果我加载一个小层文件,它工作正常,但浏览器在非常大的层文件上崩溃。我认为有两个“可能”的问题:

1) 在大文件上,函数 bin2str(buf) 返回的字符串 str 可能无法处理解析过程

2) 函数 isASCII(data) 中的行

parseHeader(bin2str(data));

由于 bin2str(data) 无法及时返回正确的值,导致浏览器崩溃,因为该过程非常消耗内存

我正在使用条件,因为我不完全确定问题是什么。有什么建议和/或可能的解决方案吗?

谢谢,

恐龙

最佳答案

最终我采用的解决方案是使用免费软件 MeshLab 来删除我的文件。

希望这有帮助。

恐龙

关于javascript函数等待数据可用性或变量无法处理大量数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43478435/

相关文章:

javascript - 我的代码中的 ${a} 和 => 是什么?

Javascript 随机图像

c - C 中 char 数组的 if 语句

python - 在不使用正则表达式的情况下实现 python replace() 函数

bash - Bash 或 Shell 脚本中的转发函数声明?

javascript - 如何在一条 route 进行多个 ajax 调用?

php - 使用原生 javascript 发送 json

javascript - 将新数据添加到 SQL 数据库后如何更新我的 $scope

c - 未使用的返回值的 ast 匹配器

python - 调用嵌套函数后发生NameError