Promise只有三种状态
异步操作 ’未完成‘ (pending)
异步操作 ’已完成‘ (resolved,又称fulfilled)
异步操作 ’失败‘ (rejected)
这三种的状态操作的变化途径只有两种
异步操作从“未完成”到“已完成”
异步操作从“未完成”到“失败"
这种变化只能发生一次,一旦当前状态变化“已完成”或“失败",就意味着不会再有新的状态变化了,因此,Promise对象的最终结果只有两种
异步操作成功,Promise对象传回一个值,状态变为resolved。
异步操作时报,Promise对象抛出一个错误,状态变为rejected
###关于Promise的几种说法
resolve() 和 reject都是直接生成一个进入相应状态的Promise对象,其参数就是进入相应状态时传递过去的参数,可以在完成回调的参数中得到
Promise.resolve(value)
Promise.reject(reason)是Promise构造器上还直接提供了一组静态方法
在调用then方法或者catch方法时都是异步进行的,但是执行速度比较快
then有两个参数,都是回调函数, 第一个回调函数,在Promise状态为resolve执行,第二个在状态为reject执行。catch方法,相当于then(null,reject)的一个变体