javascript函数等待数据可用性或变量无法处理大量数据 原谅这个小问题,但我更习惯于C++和python代码而不是JavaScript。
我从三层JS加载程序中获得以下代码: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
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));