我正在处理客户端脚本,需要进行大量计算,例如在数组中推送大量对象,这会导致 JavaScript 停止响应并且浏览器挂起并发出警报:
是否有处理这些计算的最佳实践或设计模式,我搜索并找到了许多不同的方法来处理这些情况,但解决方案难以实施,所以我需要最佳实践并且易于理解?
(例如,我正在编写代码但我需要一个跨浏览器的通用解决方案,即多线程等)
示例代码(系列包含数千个对象):
for (var series = 0; series < chartObj.masterChart.series.length; series++) {
var detailData = [];
jQuery.each(chartObj.masterChart.series[series].data, function (i, point) {
if (point.x >= chartObj.RangeSelectedMinValue && point.x <= chartObj.RangeSelectedMaxValue) {
detailData.push({
x: point.x,
y: point.y
});
}
});
chartObj.detailChart.series[series].setData(detailData);
}