SOURCE

function printRed() {
    console.log('red')
}
function printGreen() {
    console.log('green')
}
function printYellow() {
    console.log('yellow')
}

function lightsOn(fn, delay) {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            fn()
            resolve()
        }, delay)
    })
}

function start() {
    Promise.resolve()
        .then(() => lightsOn(printRed, 2000))
        .then(() => lightsOn(printGreen, 3000))
        .then(() => lightsOn(printYellow, 1000))
        .then(() => start())

}

start()
console 命令行工具 X clear

                    
>
console