微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

两个函数之间的SetInterval JavaScript

如何解决两个函数之间的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");

我想创建一个具有两个参数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);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。