function mySetInterVal(fn, a, b) {
let time = 0;
let timer = {
id: -1
};
const start = (timeout) => {
timer.id = setTimeout(() => {
fn();
time++;
start(timeout + time * b);
}, timeout)
}
start(a);
return timer;
}
function myClear(timer){
clearTimeout(timer.id)
}
var a = new mySetInterVal(() => {
console.log(`time: ${new Date().getSeconds()}`)
}, 100, 150);
myClear(a)
写一个 mySetInterVal(fn, a, b),每次间隔 a,a+b,a+2b,...,a+nb 的时间,然后写一个 myClear,停止上面的 mySetInterVal
最新推荐文章于 2022-04-05 12:15:15 发布