Promise (1)
Promise 是由原生JavaScript提供的异步编程问题的一种解决 回调地狱 的方案。
基本用法:

直接这样写 : new Promise( ajaxA ).then( ajaxB )

为什么? 因为 Promise 是没有能力检测其内部传入的异步函数 ajaxA 何时结束。这里需要我们在传入的这个异步函数中去手动处理,告诉 Promise 我的异步任务已经执行完成,你可以开始往下执行了。
事实上,在 new Promise( 异步函数 ) 时,这个异步函数会被传入两个参数。我们来验证下:


它们是两个函数,由JavaScript引擎提供,不用自己部署。通常约定 将它们命名为:resove 和 reject
resolve
函数的作用是,将Promise对象的状态从“未完成”变为“成功”(即从Pending变为Resolved),在异步操作成功时调用,并将异步操作的结果,作为参数传递出去;reject
函数的作用是,将Promise对象的状态从“未完成”变为“失败”(即从Pending变为Rejected),在异步操作失败时调用,并将异步操作报出的错误,作为参数传递出去。
Promise是一个构造函数,使用时需要 new 生成promise对象。
Promise构造函数 接收函数作为参数
Promise执行时有两个状态 Pending未完成 和 已完成(已完成,又分两种分别是 Resolved成功 、Rejected失败)
被Promise包装的异步函数会被传入两个函数参数 resove 和 reject 。

