概念
ES6 提出针对异步回调的一种解决方案,将异步操作用同步的流程表达出来。
两个特点
1.对象状态不受外界影响。Promise对象代表一个异步操作,有三种状态。pending(进行中)、resolved(已完成)、rejected(已失败)。只有异步操作的结果,可以决定当前是哪一种状态。
2.一旦状态改变,就不会改变。Promise对象的状态改变只有两种可能,从pending变为resolved和pending变为rejected。只要这两种情况发生,状态就凝固了,会一直保持这个结果。这与事件(event)完全不同,事件的特点是,一旦错过了它,再去监听,是得不到结果的。
Promise构造函数 接受一个函数作为参数,该函数的两个参数分别是resolve方法和reject方法。如果异步操作成功,则用resolve方法将Promise对象状态由pending变为resolved;如果异步操作失败,则用rejected方法将Promise对象状态由pending变为rejected。
网友评论