什么是Promise,它有什么用

promise是异步编程的一种解决方案,从语法上来说,它是一个对象,可以获取异步操作的信

promise的状态

三种状态:pending(进行中),fullfiled(成功),rejected(失败)。除了异步操作的结果,任何其他操作都无法改变这三种状态。

promise对象只有:从pending变为fullfiiled和rejected的状态改变。只要处于fulldiled和rejected,状态就不会再变了即resolved(已定型)

状态缺点

无法取消promise,一旦创建就立即执行,中间不能取消
如果不设置回调函数,promise内部抛出的错误,不会反应到外部
当处于pending状态时,无法得知目前进展到哪一个阶段(干刚开始还是即将完成)

then方法

then方法接收两个函数作为参数,第一个函数是promise执行成功的回调,第二个参数是promise执行失败的回调,两个函数只有一个会被调用

promise的静态方法

  1. Promise.resolve 返回一个成功的promise对象
  2. Promise.reject返回一个rejected状态的promise对象
  3. Promise.all所有请求完成数据,返回一个数组,有一个不成功就失败了
  4. Promise.race只有一个成功,直接返回结果,后面不执行了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值