Promise对象:一种异步编程模式
其基本模式:
1)将异步过程转换为promise对象;
2)对象有三种状态:
3)通过.then注册状态的回调;
4).已完成的状态能触发回调;
Promise对象状态:
Promise对象状态只有三种状态:
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。