javascript函数等待数据可用性或变量无法处理大量数据 原谅这个小问题,但我更习惯于C++和python代码而不是JavaScript。

javascript函数等待数据可用性或变量无法处理大量数据 原谅这个小问题,但我更习惯于C++和python代码而不是JavaScript。,javascript,function,Javascript,Function,我从三层JS加载程序中获得以下代码: var geometry; var scope = this; if (data instanceof ArrayBuffer) { geometry = isASCII(data) ? parseASCII(bin2str(data)) : parseBinary(data); } else { geometry = parseASCII(data); } pa

我从三层JS加载程序中获得以下代码:

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;

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

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

谢谢,


Dino

最后,我采用的解决方案是使用自由软件MeshLab销毁我的文件

希望这有帮助


Dino

最后,我采用的解决方案是使用自由软件MeshLab销毁我的文件

希望这有帮助


Dino

不确定您打算如何使用这些数据,但您考虑过网络工作者吗?你可以让你的函数在一个独立的线程中运行,这个线程不应该使主窗口崩溃(浏览器是单线程的)。这听起来很有希望,但我发现很难使用它。Web工作者需要是独立的javascript片段,并且不能与DOM交互。我的问题是,我需要在我的web worker中使用THREE JS库(我还不知道如何在Angular 2中导入它),当worker完成后,它应该使用加载的几何体更新场景。看起来网络工作者不是解决方案,但我仍在调查你的建议。我会随时通知你。不确定你打算如何使用这些数据,但你考虑过网络工作者吗?你可以让你的函数在一个独立的线程中运行,这个线程不应该使主窗口崩溃(浏览器是单线程的)。这听起来很有希望,但我发现很难使用它。Web工作者需要是独立的javascript片段,并且不能与DOM交互。我的问题是,我需要在我的web worker中使用THREE JS库(我还不知道如何在Angular 2中导入它),当worker完成后,它应该使用加载的几何体更新场景。看起来网络工作者不是解决方案,但我仍在调查你的建议。我会随时通知你的。
parseHeader(bin2str(data));