JSFiddle - React, Tailwind, and code Playground
by booktu8
JavaScript
var countIndex = 1; //倒计时任务执行次数
const timeout = 1000; //时间间隔1秒
const startTime = new Date().getTime();
countdown(timeout);
function countdown(interval) {
setTimeout(function() {
const endTime = new Date().getTime();
//误差
const deviation = endTime - (startTime + countIndex * timeout);
countIndex++;
//执行下一次倒计时,去除误差的影响
countdown(timeout - deviation);
console.log(timeout, deviation, countIndex)
}, interval)
}