1. 定义:Promise是一种异步编程的解决方案,它表示一个异步操作的最终完成(或失败)及其结果值。

  2. 三种状态:Promise有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)。

  3. then方法:Promise对象有一个then方法,用于指定该Promise对象状态改变时的回调函数。

  4. catch方法:Promise对象有一个catch方法,用于指定该Promise对象状态为rejected时的回调函数。

  5. Promise.all方法:Promise.all方法用于将多个Promise对象包装成一个新的Promise实例。

  6. Promise.race方法:Promise.race方法用于将多个Promise对象包装成一个新的Promise实例,只要有一个Promise对象状态改变,新的Promise实例就会改变状态。

  7. Promise.resolve方法:Promise.resolve方法用于将一个非Promise对象转换为Promise对象。

  8. Promise.reject方法:Promise.reject方法用于将一个值或者错误对象转换为一个rejected状态的Promise对象。

  9. Promise.prototype.finally方法:Promise.prototype.finally方法用于指定不管Promise对象最终状态如何,都会执行的回调函数。

  10. 异常处理:Promise对象的状态一旦改变,就不会再变化。因此,Promise对象的异常处理要提前处理,否则无法捕获异常。

  11. Promise的优点:Promise可以解决回调函数嵌套的问题,使代码更加清晰、简洁易懂;Promise可以更好地处理异步操作的结果,避免回调函数的传递错误等问题。

  12. Promise的缺点:Promise不能取消,一旦新建就会立即执行,无法中途取消;Promise如果不设置回调函数,Promise内部抛出的错误不会反应到外部;Promise的错误处理机制不够完善

promise相关的所有知识

原文地址: https://www.cveoy.top/t/topic/cZoS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录