function example1(leftTime) {
let t = leftTime;
setInterval(() => {
t = t - 1000;
console.log(t);
}, 1000);
}
function example2(leftTime) {
let t = leftTime;
setTimeout(() => {
t = t - 1000;
if (t > 0) {
console.log(t);
example2(t);
}
console.log(t);
}, 1000);
}
function example4(leftTime) {
let t = leftTime;
function start() {
requestAnimationFrame(() => {
t = t - 1000;
setTimeout(() => {
console.log(t);
start();
}, 1000);
});
}
start();
}
example5(9000)
function example5(leftTime) {
const now = performance.now();
function start() {
setTimeout(() => {
const diff = leftTime - (performance.now() - now);
console.log(diff);
requestAnimationFrame(start);
}, 1000);
}
start();
}
console