promise 和 async/await的区别

2022年9月30日08:15:44

promise 和 async/await的区别

promise

  • 含义: promise是ES6中的一个内置对象,实际是一个构造函数,是JS中进行异步编程的新的解决方案。
  • 作用 :
  1. 通常用来解决异步调用问题
  2. 解决多层回调嵌套的方法
  3. 提高代码可读性、更便于维护

async/await

  • 含义: async function 用来定义一个返回 AsyncFunction 对象的异步函数。异步函数是指通过事件循环异步执行的函数,它会通过一个隐式的 Promise 返回其结果。如果你在代码中使用了异步函数,就会发现它的语法和结构会更像是标准的同步函数

  • 作用 :

  1. async/await是ES7新特性
  2. 是写异步代码的新方式,以前的方法有回调函数和Promise
  3. async/await是基于Promise实现的,它不能用于普通的回调函数
  4. async/await与Promise一样,是非阻塞的async/await使得异步代码看起来像同步代码,这正是它的魔力所在。

区别

  1. 使用async函数可以让代码简洁很多,不需要像Promise一样需要些then,不需要写匿名函数处理Promise的resolve值,也不需要定义多余的data变量,还避免了嵌套代码。
  2. Promise 中不能自定义使用 try/catch 进行错误捕获,但是在 Async/await 中可以像处理同步代码处理错误
  • 作者:被猫吃掉的鱼Z
  • 原文链接:https://blog.csdn.net/m0_64137559/article/details/124334953
    更新时间:2022年9月30日08:15:44 ,共 557 字。