// 执行顺序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