概念
Promise是一个容器,用于保存异步操作的最终完成情况(成功or失败)
语法
new Promise(
function(resolve,reject) {
}
)
我们稍作分析 Promise是一个系统内置的构造函数,new Promise的时候传入一个带有resolve和reject两个参数的函数
函数在Promise构造函数执行时同步执行,被传递resolve和reject函数
函数将会在Promise构造函数返回新建对象前被调用
resolve 和 reject 函数被调用时,分别将promise的状态改为fulfilled(完成)或rejected(失败)。
描述
Promise 对象是一个代理对象(代理一个值),被代理的值在Promise对象创建时可能是未知的。它允许你为异步操作的成功和失败分别绑定相应的处理方法(handlers )。
这让异步方法可以像同步方法那样返回值,但并不是立即返回最终执行结果,而是一个能代表未来出现的结果的promise对象
var ajax = $.ajax("url"); promise代理的对象,promise并不知道“”ajax“”创建时
一个 Promise有以下几种状态:
- pending: 初始状态,不是成功或失败状态。
- fulfilled: 意味着操作成功完成。
- rejected: 意味着操作失败。