使用setTimeout()
函数可以在指定的时间启动一个函数:
setTimeout(function, 60000);
但是如果我想多次启动函数怎么办?每当经过一段时间,我都想执行该函数(例如每60秒执行一次)。
使用setTimeout()
函数可以在指定的时间启动一个函数:
setTimeout(function, 60000);
但是如果我想多次启动函数怎么办?每当经过一段时间,我都想执行该函数(例如每60秒执行一次)。
我看到这里没有提到如果需要在重复调用函数时传递参数的问题。使用setTimeout(myFunc(myVal), 60000);
会导致在前一次调用完成之前调用函数的错误。
因此,您可以这样传递参数:
setTimeout(function () {
myFunc(myVal);
}, 60000)
// example:
// checkEach(1000, () => {
// if(!canIDoWorkNow()) {
// return true // try again after 1 second
// }
//
// doWork()
// })
export function checkEach(milliseconds, fn) {
const timer = setInterval(
() => {
try {
const retry = fn()
if (retry !== true) {
clearInterval(timer)
}
} catch (e) {
clearInterval(timer)
throw e
}
},
milliseconds
)
}
在这里,我们使用setInterval()
将自然数0到......n(下一个数字每60秒在控制台打印)进行了安慰,保留HTML标签。
var count = 0;
function abc(){
count ++;
console.log(count);
}
setInterval(abc,60*1000);
setTimeout
。
function timer(interval = 1000) {
function loop(count = 1) {
console.log(count);
setTimeout(loop, interval, ++count);
}
loop();
}
timer();
有两种调用方式-
setInterval(function (){ functionName();}, 60000);
setInterval(functionName, 60000);
以上函数将每60秒调用一次。