zoukankan      html  css  js  c++  java
  • async/await和promise的区别

    两者都是用来处理异步回调问题的。而async/await能将异步处理的像同步一般。

    那么async/await相比于promise有什么优点呢?

    1. 简洁。前者不需要写.then,不需要给传入resolve和reject的匿名函数,也不需要定义data变量,节约了代码,也提升了可读性。

    2. 错误处理。前者可以直接通过try...catch...进行处理,而后者的错误不能被try...catch...所捕获,只能通过.catch,很麻烦。

    3. 条件语句处理。二者都可以通过条件语句处理,但是后者在条件语句中,又要进行.then、return等语句,嵌套很深。

    4. 中间值。通常会有这样的场景:需要在拿到第一次异步处理结果,调用第二次异步处理函数;第二次异步处理的结果,要和第一次的结果一起传入第三次处理函数中。这在promise中又需要层层嵌套,而async/await可以依次拿到数据处理,很简洁。

    5. 错误链。在promise中如果经历了多次.then,并在其中抛出了错误,则返回的错误栈不会明确的返回错误的位置;然而async/await中会明确指出错误的函数。

    6. 调试。promise中在.then中设置断点,不会依次经过之后的.then,而是跳出到同步代码。

  • 相关阅读:
    java的原子类 AtomicInteger 实现原理是什么?
    Tomcat性能调优
    JVM性能调优
    vue下载和上传excle数据文件,解析excel文件数据并存在数据库中
    07----popo up 弹窗
    06----fiter
    05 ---批量操作
    04
    stark组件03
    stack组件03
  • 原文地址:https://www.cnblogs.com/ashen1999/p/13889730.html
Copyright © 2011-2022 走看看