SOURCE

// let t = setTimeout(() => {
//     console.log(111);
//     let t1 = setTimeout(() => {
//         console.log(222);
//         let t2 = setTimeout(() => {
//             console.log(333);
//         }, 3000);
//     }, 2000);
// }, 1000);

// promise 改写回调地狱
// 等待1s后输出111,然后启动新的定时器,2s后输出222
function generateTask(fn, time){
    return new Promise((resolve, reject)=>{
        setTimeout(()=>{
            fn()
            resolve()
        },time)
    })
}

async function main(){
    await generateTask(()=>console.log(1),1000)
    await generateTask(()=>console.log(3),3000)
    await generateTask(()=>console.log(4),4000)
}
main()
console 命令行工具 X clear

                    
>
console