SOURCE

// async function f() {
//   console.log('hello world') ;
// //   return 'hello world';
// }
// f().then(v => console.log(v))
// // "hello world"

// class Sleep {
//   constructor(timeout) {
//     this.timeout = timeout;
//   }
//   then(resolve, reject) {
//     const startTime = Date.now();
//     setTimeout(
//       () => resolve(Date.now() - startTime),
//       this.timeout
//     );
//   }
// }
// (async () => {
//   const sleepTime = await new Sleep(1000);
//   console.log(sleepTime);
// })();

// function sleep(interval) {
//   return new Promise(resolve => {
//     setTimeout(resolve, interval);
//   })
// }
// // 用法
// async function one2FiveInAsync() {
//   for(let i = 1; i <= 5; i++) {
//     console.log(i);
//     await sleep(1000);
//   }
// }
// one2FiveInAsync()

// async function f() {
//   await Promise.reject('出错了');
// }
// f()
// .then(v => console.log(v))
// .catch(e => console.log(e))
// // 出错了

// async function f() {
//   await Promise.reject('出错了');
//   await Promise.resolve('hello world'); // 不会执行
// }

// f().then((res) => {
//     console.log('res===',res)
// }).catch(error => {
//     console.log('error===',error)
// })

// async function f() {
//     await Promise.reject('出错了');

//   try {
//     await Promise.reject('出错了');
//   } catch(e) {
//   }
//   return await Promise.resolve('hello world');
// }
// f()
// .then(v => console.log(v)).catch(error => {
//     console.log('error==',error)
// })


function generateP1(){
    return new Promise((resolve,reject) => {
        setTimeout(() => {
            resolve('resolved11111')
            // reject('rejected')
        },1000)
    })
}
function generateP2(){
    return new Promise((resolve,reject) => {
        setTimeout(() => {
            resolve('resolved22222')
            // reject('rejected')
        },5000)
    })
}
function generateP3(){
    return new Promise((resolve,reject) => {
        setTimeout(() => {
            resolve('resolved33333')
            // reject('rejected')
        },1000)
    })
}
function generateP4(){
    return new Promise((resolve,reject) => {
        setTimeout(() => {
            reject('resolved44444')
            // reject('rejected')
        },1000)
    })
}
async function test() {
    let promises = [generateP1(),generateP2(),generateP3(),generateP4()]
    console.log('promises==',promises)
    let results = []
    for(let promise of promises) {
        results.push(await promise)
    }
    console.log(results)
    
}

test()


// console.log('result===',result)




console 命令行工具 X clear

                    
>
console