javascript - 两个函数 JavaScript 之间的 SetInterval
问题描述
我正在使用 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");
我想创建一个有两个参数 N 和 X 的函数:
- N 是执行两个函数的次数
- X 是两个函数执行之间的间隔
我试过这些功能:
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);
推荐阅读
- ms-access - 如何防止用户在 MS ACCESS 2013 中删除/编辑或添加子表单上的记录
- javascript - 如何在全日历中设置 Themename?
- mysql - 从特定列表中选择随机数
- javascript - 在Angular 7中并排组合两个数组
- python - 如何在 django 中使用模型进行查询
- java - 无法渲染 jsp 页面
- multithreading - 循环计数和线程数之间的混淆以及关于线程寿命的查询
- cassandra - Cassandra com.datastax.driver.core.ControlConnection$1 onConnectionException
- java - 如何在 REST 调用开始时访问 @PathVariable?
- php - 如何捕获 sodium_crypto_box 的异常