SOURCE

// console.log('script start')
// setTimeout(function(){
//     console.log('settimeout')
// })
// console.log('script end')

// console.log('script start')
// let promise1 = new Promise(function(resolve){
//     console.log('promise1')
//     resolve()
//     console.log('promise1 end')
// }).then(function(){
//     console.log('promise2')
// })
// setTimeout(function(){
//     console.log('settimeout')
// })
// console.log('script end')

// async function async1(){
//     console.log('script1 start')
//     await async2();
//     console.log('async1 end')
// }
// async function async2(){
//     console.log('async2')
// }
// console.log('script start')
// async1()
// console.log('script end')

// function testPromise(ready){
//     return new Promise (function(resolve,reject){
//         if(ready){
//             resolve('hello world')
//         }else{
//             reject('No thanks')
//         }
//     })
// }

// testPromise(false).then(function(msg){
//     console.log(msg)
// },function(error){
//     console.log(error)
// })


// function getSomething(){
//     return 'something'
// }

// async function testAsync(){
//     return Promise.resolve('hello')
// }

// async function test (){
//     const v1 = await getSomething();
//     const v2 = await testAsync()
//     console.log(v1,v2)
// }
// test()



// function testAsy(x){
//     return new Promise(resolve=>{
//         setTimeout(()=>{
//             resolve(x)
//         },3000)
//     })
// }

// async function testAwt(){
//     let result = await testAsy('hello world')
//     console.log(result);
//     console.log('cuger')
// }
// testAwt()
// console.log('cug')

async function doIt() {
    console.time("doIt");
    const time1 = 300;
    const time2 = await step1(time1);
    const time3 = await step2(time2);
    const result = await step3(time3);
    console.log(`result is ${result}`);
    console.timeEnd("doIt");
}
doIt()
// 查看执行步骤
console 命令行工具 X clear

                    
>
console