运行 不同时间间隔的多个函数
Run multiple functions at different time intervals
我有四个功能,
functionOne();
functionTwo();
functionThree();
functionFour();
我只想在不同的持续时间调用这些函数,即
// run functionOne
functionOne();
// delay for a duration of 200ms
//run functionTwo
functionTwo();
// delay for a duration of 600ms
// run functionThree
functionThree();
// delay for a duration of 200ms
// run functionFour
functionFour();
// delay for a duration of 1600ms
// repeat from one again!
我知道,setInterval(functionOne, time);
可以在特定时间循环functionOne
。
如何按照上面给出的持续时间顺序制作函数 运行?
谢谢。
尝试:
var the_time = 1000;
var funArr = [funcitonOne,funcitonTwo,funcitonThree,funcitonFore];
for (var i=0; i<funArr.length;i++){
setInterval(funArr[i], the_time*(i+1));
}
更新:
传递给函数的持续时间:
function funcitonOne(time) {
console.log('funcitonOne', time);
}
function funcitonTwo(time) {
console.log('funcitonTwo', time);
}
var funArr = [funcitonOne, funcitonTwo];
for (var i = 0; i < funArr.length; i++) {
var interval = 500 * (i + 1);
(function (i,interval) {
setInterval(function(){
funArr[i].call(this, interval);
}, interval);
}(i,interval));
}
我有四个功能,
functionOne();
functionTwo();
functionThree();
functionFour();
我只想在不同的持续时间调用这些函数,即
// run functionOne
functionOne();
// delay for a duration of 200ms
//run functionTwo
functionTwo();
// delay for a duration of 600ms
// run functionThree
functionThree();
// delay for a duration of 200ms
// run functionFour
functionFour();
// delay for a duration of 1600ms
// repeat from one again!
我知道,setInterval(functionOne, time);
可以在特定时间循环functionOne
。
如何按照上面给出的持续时间顺序制作函数 运行? 谢谢。
尝试:
var the_time = 1000;
var funArr = [funcitonOne,funcitonTwo,funcitonThree,funcitonFore];
for (var i=0; i<funArr.length;i++){
setInterval(funArr[i], the_time*(i+1));
}
更新:
传递给函数的持续时间:
function funcitonOne(time) {
console.log('funcitonOne', time);
}
function funcitonTwo(time) {
console.log('funcitonTwo', time);
}
var funArr = [funcitonOne, funcitonTwo];
for (var i = 0; i < funArr.length; i++) {
var interval = 500 * (i + 1);
(function (i,interval) {
setInterval(function(){
funArr[i].call(this, interval);
}, interval);
}(i,interval));
}