Promise 如何使用,用在什么场景?有几种状态?

promise的使用

1.promise.prototype.then()

是promise实例的回调函数,接受两个回调函数作为参数,

第一个回调函数是promise对象的状态变为resolve时调用,(成功)

第二个回调函数是promise对象的状态变为 rejected时调用,(失败)

返回的是另一个promise对象,后面可以继续.then

2.promise.prototype.catch()

用于指定发生错误时的回调函数,返回的是一个promise对象,

3.promise.prototype.finally()

finally方法用于指定不管promise对象最后状态如何,都会执行的回调函数

promise静态API

promise.resolve() 返回新的状态为resolve的promise 对象

promise.reject() 返回一个新的状态为reject的promise对象

promise.all()等待所有异步成功结果在返回 回调

promise.race()哪个结果返回来的快就是哪个结果,不管是成功还是失败

promise.allSettled (【1,2,3】)数组中的异步依次返回成功结果 其中一个失败不会影响其他数据

使用场景(使用promise的多种方法)

(做耗时的操作时可以用promise包住,拿到结果)

1.解决回调地狱

可以链式调用,解决回调地狱(回调函数嵌套产生回调地狱问题)

async 和await 也可以解决回调地狱问题

2.多个并发请求

多个并发请求可以通过静态allsettled ,all,或者async/await 语法糖处理

promise的状态

Promise有三种状态:pending(进行中)、fulfilled(已完成)和rejected(已拒绝)

promise开发文档

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值