SOURCE

// 执行顺序onLoad -> onShow
function onLoad(){
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            // console.log('请求ajax完毕')
            // resolve()

            var age = 19
            if (age >= 18) {
                console.log('满18岁可以进入')
                resolve(age)
            } else {
                console.log('未成年不可以进入')
                reject(age)
            }
        }, 3000)
    })
}

function onLosh(){
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            console.log('onLosh...')
            resolve()
        },3000)
    })
}

function onShow(){
    console.log('onShow...')
}
async function loda(){
    await onLosh()
    await onShow()
}

loda()


// 可以自己控制方法调用的情况下的写法1
// onLoad().then((r) => {
//     console.log('同意', r)
//     onShow()
// }).catch((r) => {
//     console.log('被阻止了', r)
// })

// 可以自己控制方法调用的情况下的写法2
// window.onload = async () =>{
//     await onLoad()
//     // console.log('同意',a)
//     onShow()
// }

// async function test1(){
//     await onLoad()
//     onShow()
// }

// test1()

// var flag = false
// // 不可以控制方法调用的情况如Vue中的onShow和onLoad
// function onLoad1(){
//     return new Promise((resolve, reject) => {
//         setTimeout(() => {
//             console.log('请求ajax完毕')
//             flag = true
//             resolve()
//         }, 1000)
//     })
// }

// function onShow2(){
//     var i = null
//     return new Promise((resolve, reject) => {
//         i = setInterval(() => {
//             // 等待全局标记等于true的时候清除定时器,然后再执行方法
//             if (flag) {
//                 clearInterval(i)
//                 console.log('onShow...')
//             }
//         }, 100)
//     })
// }

// onLoad1()
// onShow2()


//function getOrder(){
// 	if(!this.orderNo){
// 		var flag = this.orderNo;
// 		var i = null;
// 		var num = 0;
// 		return new Promise((resolve, reject) => {
// 		    i = setInterval(() => {
// 				flag = this.orderNo;
// 				num ++ 
// 		        if (flag) {
// 		            clearInterval(i)
// 					this.wxQrcode();
// 		        }
// 				if(num > 10){
// 					clearInterval(i)
// 					this.$mHelper.toast('当前网络不通畅,请检查网络',2000);
// 				}
// 		    }, 500)
// 		})
// 		return;
// 	}
// },
console 命令行工具 X clear

                    
>
console