用async修饰的函数是异步函数吗?

前言:

在我们解决异步编程的时候,经常会用到async 和await编程的解决方案。

看以下的代码:

  async function fn() {
    console.log(123);
  }
  console.log(fn());

打印的是一个Promise对象。

  async function fn() {
    console.log(123);
  }
  fn()
  console.log(456);

如果修饰玩就是异步的,那么打印的结果就是456 ,123。

结果是相反的,它单纯的只是是一个Promise对象。并没有then,catch之类的。

这个时候用上await之后我们在看一下结果。

  async function fn() {
    const a1 = await 123
   console.log(a1)
  }
  fn()
  console.log(456);

view:

此时证明了一个问题,这个函数变成异步的了。

我们平常在调用接口的时候,总是   const res1=  await  异步1     const  res2= await 异步2

等待异步任务的完成返回一个结果。

通过上方的例子我们发现.不管await后面跟的是什么都是异步去执行的。

 

结论:

Promise对象并不都是异步去执行的。需要和await搭配起来去使用。

then是异步的,catch也是异步的......

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值