如何在js中提高性能
请教各路大神,我遇到一个问题,就是js中我们需要批量导入一批数据对这批数据进行操作。代码类似这样for(var i=0;i<10000;i++){......极其复杂耗时间的操作,并且不能异步,只能同步} 这样的话性能特别低,想请教各路大神如何解决。我利用settimeout实现了一个类似多线程的功能 delay:0 UpdatedRecords :需要处理的数据
function delayEachArray(delay,UpdatedRecords ,i) {
console.log(new Date().getTime()); //将延迟设为0s后,我以为在这打印的时间应该是相差不大的,但是发现相差的很大,基本上是等于数据处理过程完成后,才会打印下一个时间
if (i == undefined) i= 0;
record = UpdatedRecords[i];
var Record_Approval_result = record.data.approval_result;
if(Record_Approval_result != 'E'){
//此方法是对数据处理的过程。这个过程很费时间,并且是一个ajax的同步请求
ApprovalSubmit(record);
}
i++;
if (i < UpdatedRecords.length){
setTimeout(function () { delayEachArray(delay, UpdatedRecords,i); }, delay);
}
else {
return ;
}
}
不知道什么办法可以提高性能,因为那个处理过程极其耗费时间,并且需要处理的数据是大量的。望各路大神赐教