uniapp中封装了promise,但实质上是由setTimeout模拟Polyfill
var arr =[ ]
setTimeout(()=>arr.push(6),0) //js是从上往下走,发现setTimeout则开始异步
arr.push(1)
const p = new Promise(resolve=>{ //Promise本质上是一个构造函数,可在内部进行异步操作,
//在uniapp中本质是setTimeout,就不存在then的调用
arr.push(2)
resolve()
})
arr.push(3)
p.then(()=>arr.push(5)) //then方法是Promise原型上存在的方法。then去调用const p里面的resolve()
//也就是说Promise new出来的对象都存在then和catch方法
arr.push(4)
setTImeout(()=>arr.push(7),0) //异步
setTimeout(()=>{ //异步
console.log(arr)
},1000)