我从文件中获取 json 数据,并在每个循环中创建另一个 json 文件并发送对该 json 文件的请求,这是我用于创建 json 文件的代码
var derivatedFeatures = ["RMS","sb2xMagnitudev_ipspeak", "sbSubsynchronousv_ipspeak", "PeakPeak_mil", "sbHighFrequency_grms", "TruePeak_ips", "PeakPeak_g", "sb1xMagnitudev_ipspeak","Crestfactor"];
$.each(derivatedFeatures,function(index,feature){
$.each(data,function(index,item){
var featurefile ="Lines_"+feature+'_'+item['Line']+'_'+item['Component'].split(" ").join("_")+'.json'
filedata = {
file:featurefile,
site:item['Site'],
area:item['Area'],
line:item['Line'],
equipment:item['Equipment'],
component:item['Component'],
feature:feature
};
frank.sendAjax('/static/data/json/'+featurefile,'', 'GET', anomaliesDataAppend,filedata);
});
});
- 我想先加载 10 个文件
- 页面滚动后我想再加载 10 个
并且进程继续
这样做的原因
- 加载所有 json 文件并处理其数据时页面卡住
- 我有 2000 多个 json 文件
最佳答案
我希望这对您有帮助: 这是我为您的解决方案编写的代码
$.each(derivatedFeatures,function(index,feature){
$.each(data,function(index,item){
indexnum++;
var featurefile ="Lines_"+feature+'_'+item['Line']+'_'+item['Component'].split(" ").join("_")+'.json'
filedata.push({file:featurefile,
site:item['Site'],
area:item['Area'],
line:item['Line'],
equipment:item['Equipment'],
component:item['Component'],
feature:feature,
indexnum:indexnum
});
});
});
loadFeatureFiles(filedata,0);
var loadFeatureFiles = function(filedata,indexnum){
var startfrom=indexnum;
var endto=startfrom+10;
for (var i=startfrom;i <= endto;i++) {
requestdata={filedata:filedata[i],indexnum:i};
frank.sendAjax('/static/data/json/'+filedata[i]['file'],'', 'GET', anomaliesDataAppend,requestdata);
};
};
分配 data= rows 并在用户向下滚动并传入函数时获取
//data is induxnum
loadFeatureFiles(filedata,data);
关于javascript - 我需要以 10 个文件为间隔解析 json 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27055651/