Async和Await

  

async 和 await 是把异步书写代码的方式改变为同步,代码结构更清晰简洁,便于后期的维护,解决了回调地狱的问题。

① async 是一个修饰符,它定义的函数会返回一个Promise对象,因此可以直接进行 then 操作,返回的为 then 方法的传入函数。

② await 关键字只能放在 async 函数内部,await 关键字的作用是获取Promise中返回的内容。

③ 获取的内容是Promise函数中的 resolve 或者 reject 的值。

④ 如果 await 后面不是一个Promise的返回值,则会按照同步程序的返回值处理,返回为undefined

   function asyncfn(url) {
        return new Promise((resolve, reject) => {
            let xhr = new XMLHttpRequest()
            xhr.open('GET', url)
            xhr.send()
            xhr.onreadystatechange = function () {
                if (xhr.readyState===4){
                    if(xhr.status==200){
                        console.log('成功了');
                        resolve(xhr.responseText)
                    }else{
                        console.log('失败了');
                        reject(xhr.status)
                    }
                }
            }
        })
    }
      async function time(bb){
           let aa=await asyncfn("data.json")
           console.log('111',aa);
      }
      time()

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值