每隔wait秒执行函数,一共执行times次
2019-05-31 本文已影响0人
peerben
实现一个函数,每隔wait秒执行函数,一共执行times次。
给出两种实现
export {}
function executeEveryTime(wait: number, times: number, fn: Function) {
if (times === 0) return;
setTimeout(() => {
fn.call(null);
executeEveryTime(wait, times-1, fn);
}, wait);
}
const delay = (wait) => {
return new Promise((resolve, reject) => {
setTimeout(resolve, wait);
})
}
async function executeEvery(wait: number, times: number, fn: Function) {
while (times > 0) {
await delay(wait);
fn.call(null);
times -= 1;
}
}
const log = () => console.log('hello world');
//executeEveryTime(1000, 3, log);
executeEvery(1000, 4, log);
