跳到正文

手写练习/异步控制

GitHub

用 async / await 实现循环红绿灯

简单异步Promiseasync/await

代码实现

JavaScript17 行
const sleep = ms =>
    new Promise(resolve => setTimeout(resolve, ms))

async function signalLight() {
    console.log('red')
    await sleep(1000)

    console.log('green')
    await sleep(3000)

    console.log('yellow')
    await sleep(3000)

    return signalLight()
}

signalLight()