<script> // promise是es6新增的对象 let p = new Promise((resolve)=>{ //new promise里面是同步执行的 console.log(1); resolve("hello world"); }) //下面的这个2是不会输出的,只有promise里面调用resolve函数的时候才会调用then p.then((data)=>{ //下面这个是异步执行的 console.log(data) }) //async函数:的返回值是promise对象 async function fun(){ return 1 } //那么上面这个函数是可以用下面复杂函数实现的 // function fun(){ // return new Promise((resolve)=>{ // resolve(1) // }) // } fun().then((data)=>{ console.log(data) }) let p1 = new Promise((resolve)=>{ resolve(1) }) let p2 = new Promise((resolve)=>{ resolve(2) }) //相当于 a = await 再拿一个Promise对象 async function fun1(){ let a = await p1; let b = await p2; console.log(a) console.log(b) } fun1() //下面开始写一个代码看一看执行循序是什么 async function fun2(){ let data = await fun3();//这里的await会等待fun3()执行,拿到then的结果并将其赋值给data,最后再将结果返回 console.log(data) } async function fun3(){ console.log(200)//这里是一个同步执行 return 100 } //下面是它的执行循序 // 首先是执行fun2, fun2();