如何解决两个函数之间的SetInterval JavaScript
我正在使用JavaScript对象生成HTML表,我创建了两个具有不同标题的函数:
function generateTable(data) {
let newobj = data.filter(function(el) {
return el.Sens == 'Depart';
})
.map(function(obj) {
return {
Heure: moment(obj.prevu).format("h:mm"),Vol: obj.Numvol,Compagnie: 'uploads/' + obj.FileName,Destination: obj.AeroD + ' via ' + obj.AeroA,Comptoir: obj.Comptoir.replace(/[\[\]']+/g,''),Porte: obj.porte,Infos: obj.etat,Enregistrement: obj.active_enregistrement,}
});}
第二功能:
function generateArTable(data) {
let newobj = data.filter(function(el) {
return el.Sens == 'Depart';
})
.map(function(obj) {
return {
'التوقيت': moment(obj.prevu).format("h:mm"),'الرحلة': obj.Numvol,'الناقل الجوي': 'uploads/' + obj.FileName,'الوجهة': obj.AeroD_ar + ' عبر ' + obj.AeroA_ar,'الشباك': obj.Comptoir.replace(/[\[\]']+/g,'الباب': obj.porte,'معلومات': obj.etat
}
});
它们都使用同一张表生成HTML表
let table = document.querySelector("#fr_table");
我尝试了以下功能:
setTimer0 = setInterval(function() {
generateArTable(data);
console.log("first function executed");
},3500,(0));
setTimer1 = setInterval(function() {
generateTable(data);
console.log("second function executed");
},3100,(1));
解决方法
N是执行两个功能的次数X是两个功能执行之间的间隔:
function f1(){console.log(1);}
function f2(){console.log(2);}
function asYouWish(N,X) {
while(N--){
f1();
setTimeout(f2,X);
}
}
asYouWish(3,500);
N是执行两个功能的次数X是每个下一个功能执行之间的间隔:
function f1(){console.log(1);}
function f2(){console.log(2);}
function asIThinkYouReallyWish(N,X) {
for(let i = 0; i < N*2; i++) {
setTimeout(i%2? f2 : f1,i * X);
}
}
asIThinkYouReallyWish(3,500);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。