promise对象有两个特色:promise
(1)对象的状态不受外界外界影响.promise对象表明一个异步操做,有三种状态;pending(进行中),fulfilled(已成功)和rejected(已失败).只有异步操做的结果,能够决定当前是哪种状态;异步
(2)一旦状态改变,就不会再改变,任什么时候候均可以获得这个结果.promise的状态改变,只有两种可能:从pending变为fulfilled和从pending变成rejected.只要这两种状态状况发生,状态就凝固了,不会再变了,会一直保持这个结果,这时就称为resolved.函数
基本用法
new Promise( /* executor */ function(resolve, reject) { ... } )
promise接受一个函数做为参数,该函数的两个参数分别是resolve和reject.它们是两个函数,由JavaScript引擎提供,不用本身部署.
then方法
Promise实例具备then方法,也就是说,then方法是定义在原型对象Promise.prototype上的,它的做用是是为Promise实例添加状态改变时的回调函数.then方法的第一个参数是resolved状态的回调函数,第二个参数(可选)是rejected状态的回调函数.而且then方法返回的是一个新的Promise实例prototype