async函数和await的理解

async函数和await的理解

理解async和await时,先理解Promise,因为是基于Promise

从生活中理解

想象你去餐馆吃饭。点菜和等待食物是一个异步的过程,因为你不必一直站在厨房等待食物做好。你可以坐下来,聊天,等待服务员通知你食物已经准备好。

  1. async 就像是告诉餐馆服务员:“我需要一份菜单,我将点餐,但不会一直等着,告诉我什么时候食物准备好。”
  2. await 就像是你坐在餐馆等待,直到服务员告诉你食物已经准备好,然后你开始享用美食。

从编程中理解

  1. async:异步,用于申明一个function是异步的
  2. await:而await则可以认为是 async await的简写形式,是等待一个异步方法执行完成的

async

//使用async声明一个方法
//在函数面前加上async表示这个函数为异步函数
//这个函数会返回Promise对象,Promise对象包含"你好"返回值
async function xr() {
  return "你好";
}
  1. 使用async声明的方法为异步方法,await只能在async函数里面使用
  2. async声明的方法返回的是Promise对象,而await就是等待promise的返回结果,在继续执行
  3. await等待的是是一个Promise对象,后面必须是一个Promise对象,但不需要写then(),直接可以得到返回结果

await

  1. await用于等待一个异步完成,通常返回一个Promise函数(比如then函数,或者catch函数)
  2. 当遇await时,函数会暂停执行,等待Promise解决(或拒绝)并返回结果,
function xr() {
  return new Promise(function (resolve,reject) {
      setTimeout(() {
        resolve("你好");
      })
  })
}

async function by() {
  //被await等待的Promise函数,
  //相当于调用了then方法,直接有data值
  const response = await xr();
  //输出的结果为  你好
  console.log(response);
}

//上面的by()函数相当于下面的
xr().then(function(data) {
  console.log(data);
})

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

꧁惜若༒奔已꧂

争取做到更好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值