SOURCE

let sleep = function(num){
    return new Promise((resolve,reject) => {
        setTimeout(() => {
            resolve()
        },num)
    })
}

sleep(2000).then(() => {
    console.log('执行')
})

let sleep2 = function* (num){
    yield new Promise((resolve,reject) => {
        setTimeout(() => {
            resolve()
        },num)
    })
}
sleep2(2000).next().value.then(() => {
    console.log('generator 实现')
})

let sleep3 = function(cb,time){
    setTimeout(() => {
        cb && cb()
    },time)
}

sleep3(function(){
    console.log('es5实现方式')
},2000)
console 命令行工具 X clear

                    
>
console