09_Promise与async

<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();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值