SOURCE

const setIntervalBySetTimeout = function (func, delay, ...args) {
    const timer = setTimeout(() => {
        func.apply(null, args)
        clearTimeout(timer)
        setIntervalBySetTimeout(func, delay, ...args)
    }, delay)
}

const counter = (count) => {
    return function (add) {
        console.log(count++ + add)
    } 
}
setIntervalBySetTimeout(counter(1), 1000, 100)
console 命令行工具 X clear

                    
>
console