SOURCE

// const getData = () => setTimeout(()=>console.log('hello man!'),1500)

new Promise((resolve,reject)=>{
    console.log('请求')
    setTimeout(()=>{
        Math.random()>0.5 ? resolve('haha') :reject()
    },1000)
}).then((data)=>{
    console.log('0k:200',data)
}).catch(()=>{
    console.log('error:404')
})


Promise.all([
    new Promise((resolve,reject)=>{
        setTimeout(()=>{
           resolve('111')
        })
    }),
    new Promise((resolve,reject)=>{
        setTimeout(()=>{
           resolve('222')
        },1000)
    })
]).then((rs)=>{
    console.log(rs)
})


//同步任务、异步任务(宏微任务) 
//先执行同步任务,有宏任务、微任务先注册,执行完同步任务后执行微任务、再执行宏任务

//同步任务=》微任务=》宏任务

//宏任务:setTimeout 、 setInterval
//微任务:Promise.then、process.nextTick(callback)

// console.log('start')

// new Promise((resolve,reject)=>{
//     console.log('Promise1')
//     resolve()
// }).then(()=>{
//         console.log('Promise then1')
//         setTimeout(()=>{
//             console.log('setTimeout1')
//     },0)
// })

// setTimeout(()=>{
//     console.log('setTimeout2')
//     new Promise((resolve,reject)=>{
//         console.log('Promise2')
//         resolve()
//     }).then(()=>{
//         console.log('Promise then2')
//     })
// },0)

// console.log('end')


//同步任务:start promise1 end 存入微任务then1 宏任务time2
//没有同步任务执行then1 存入宏任务time1
//没有同步任务、微任务,执行time2 
//执行同步任务promise2 存入微任务then2
//没有同步任务,先执行微任务 then2 执行宏任务time1
console 命令行工具 X clear

                    
>
console