Promise对象

Promise对象:一种异步编程模式

其基本模式:

1)将异步过程转换为promise对象;

2)对象有三种状态:

3)通过.then注册状态的回调;

4).已完成的状态能触发回调;

Promise对象状态:

Promise对象状态只有三种状态:

1)异步操作“未完成”(pending)
2)异步操作“已完成”(resolved,又称fulfilled)
3)异步操作“失败”(rejected)
这三种的状态的变化途径只有两种。
1)异步操作从“未完成”到“已完成”
2)异步操作从“未完成”到“失败”。
这种变化只能发生一次,一旦当前状态变为“已完成”或“失败”,就意味着不会再有新的状态变化了。因此,Promise对象的最终结果只有两种。
异步操作成功,Promise对象传回一个值,状态变为resolved。
异步操作失败,Promise对象抛出一个错误,状态变为rejected。

promise的内容分为构造函数、实例方法和静态方法

1)一个构造函数:new Promise;

2)两个实例方法:.then和.catch;

3)四个静态方法:Promise.all、Promise.race、Promise.resolve和Promise.reject;

其中promise.raace不常用

说明:new Promise:将一个异步过程转换成Promise对象,先有了Promise对象,然后才有promise编程方式;

          .then用于为promise对象的状态注册回调函数,它会返回一个promise对象,所以可以进行链式调用,也就是.then后面             可以继续调用.then。在注册的状态回调函数中,可以通过return语句改变.then返回的promise对象的状态,以及向后                面.then注册的状态回调传递数据,也可以不使用return语句,那样就是默认将返回的promise对象resolve;

          .catch用于注册rejected状态的回调函数,同时该回调也是程序出错的回调,即如果前面的程序运行过程中出错,也会进             入执行该回调函数。同.then一样,也会返回新的promise对象。

          调用promise.resolve会返回一个状态为fulfilled状态的promise对象,参数会作为数据传递给后面的状态回调函数

           promise.reject于promise.resolve同理,区别在于返回的promise对象作为rejected。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值