async与await详解

1、概念

async是异步的缩写,代表异步请求,因为语法规定await只能出现在async中,await可以简单的理解为async wait 的缩写,也就是说async用来声明一个函数是异步的,而await是等待这个异步方法执行完毕

2、async作用

async函数会返回一个promise对象,如果在函数中直接return一个直接量,async会把这个直接量通过promise.resolve封装成一个promise对象,看代码

 async function test() {
        return "test"
    }
    let res = test()
    console.log(res);

结果是这样的

 所以他可以配合then方法使用

  async function test() {
        return "test"
    }
   test().then(res=>{
    console.log(res);
   })

结果

3、await作用

await是个运算符,用于组成表达式,运算结果取决于他正在等待运算的结果,如果的等待的是一个promise对象,他会得到promise中的resolve的值,作为他的运算结果

 

 改用async和await如下面

 4、async与await的优势

通过上面几个例子看出,async与await与then对异步调用的结果是差别不明显的,而且async与await甚至还多了一些代码,这似乎有点不对。

async与await的优势在于处理多条promise链式调用,单条promise并不能体现它的优势,试想一下,如果一个有多个步骤,每个步骤的调用又依赖于上个步骤的结果,我们知道可以使用then方法不断进行链式调用,去解决回调地狱的问题,那么async与await又将这种链式调用优化了一下。

 

是不是感觉这样比较清晰呢

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C#中的async和await关键字是用来实现异步编程的。它们的作用是让开发人员能够更方便地处理异步任务。async关键字可以用来修饰方法,表示该方法是一个异步方法,而await关键字用于等待异步任务的完成。 async和await的使用可以帮助我们编写更简洁、易读的异步代码。当我们在一个方法中使用了async关键字时,编译器会将该方法转换为一个状态机。这样,当遇到一个耗时的操作时,我们可以使用await关键字来等待该操作完成,而不会阻塞整个线程。当异步操作完成后,代码会继续执行。 async和await的使用需要注意一些细节。首先,异步方法必须返回一个Task对象或Task<T>对象,表示异步操作的结果。其次,在异步方法中,可以使用await关键字来等待一个异步操作的完成,但需要在方法的签名中声明async关键字。而且,await关键字只能在异步方法中使用。 在使用async和await时,还需注意一些原则。首先,尽量避免在异步方法中使用阻塞操作,以充分发挥异步编程的优势。其次,可以使用Task.WhenAll或Task.WhenAny等方法来并行处理多个异步任务。另外,可以使用ConfigureAwait方法来配置异步任务的上下文。 总之,C#中的async和await提供了一种简洁、易读的方式来处理异步任务。通过合理的使用,可以提高代码的性能和可维护性。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值