全栈:async-await

async/await是什么

async/await 是ES7提出的基于Promise的解决异步的最终方案。

async

  • async是一个加在函数前的修饰符,被async定义的函数会默认返回一个Promise对象resolve的值。
  • 因此对async函数可以直接then,返回值就是then方法传入的函数。
  • 但await 相当于 Promise 的 then ,then指的是成功,不指失败。
  • 执行 async 函数,返回的是 Promsie 对象

await

await 也是一个修饰符,只能放在async定义的函数或者方法内。理解为等待。

await 修饰的如果是Promise对象:可以获取Promise中返回的内容(resolve或reject的参数),且取到值后语句才会往下执行;在我们做网络请求时,用到async-await如下:

async function  fn () {
        var url="http://192.168.1.1:8080/ajax1"
        let data=await axios(url)
        console.log(data)
        
        
        var url2="http://192.168.1.1:8080/ajax2"
        let data2=await axios(url2)
        console.log(data2)
    }

 

 

await 和 then 的区别

then还需要传回调进去,但 await 可以直接得到值

 

posted on 2022-08-07 11:53  香香鲲  阅读(38)  评论(0编辑  收藏  举报