js面试 async await 是什么? 它有什么作用?

64 篇文章 1 订阅
33 篇文章 1 订阅

1 概念

async await是es7的新语法,async的作用是用它声明一个funciton 异步函数。而await是等待一个异步方法执行完成。它可以很好的替换promise中的then。

async可以返回一个promise对象,可以使用then方法添加回调函数,当函数执行的时候一旦遇到await就会先返回,等到异步执行完成,再接着执行函数体内后面的语句。

2 其他:

await 操作符用于等待一个 Promise 对象, 它只能在异步函数 async function 内部使用

获取的是Promise函数中resolve或者reject的值

实例1:

async created(){

  let a = await http.$axios({url:'/home'})

  let b = await http.$axios({url:'/data'})

  console.log(a.data, b.data)

}

实例2:

const pt = function(){ return 'str'}

const pp = function(){ return 'df' }

async function funcAsy() {

   const a = await 100

    const dd = await pp();

   const b = await new Promise((resolve, reject)=>{

        setTimeout(function(){

           resolve('3秒time')

        }, 3000)

   })

   const c = await pt()

   console.log(a, b, c, dd )

}

funcAsy()  

//  运行结果是 3秒钟之后 ,输出 100 '3秒time' 'str' 'df'

// 为什么'df'在最后呢? 因为pp函数返回的不是Promise形式,不进行等待,异步处理。(只有promise形式才进行等待)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值