ES6 Promise 对象

概述

== 是异步编程的一种解决方案。
从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。==

Promise 状态

状态的特点
Promise 异步操作有三种状态:
pending(进行中)
fulfilled(已成功)
rejected(已失败)
除了异步操作的结果,任何其他操作都无法改变这个状态。

Promise 对象只有:从 pending 变为 fulfilled 和从 pending 变为 rejected 的状态改变。只要处于 fulfilled 和 rejected ,状态就不会再变了即 resolved(已定型)。

then 方法

then 方法接收两个函数作为参数,第一个参数是 Promise 执行成功时的回调,第二个参数是 Promise 执行失败时的回调,两个函数只会有一个被调用。

then 方法的特点

在 JavaScript 事件队列的当前运行完成之前,回调函数永远不会被调用。

ES6 Promise 对象
这里为了测试then方法 看他的异步请求是否为成功以后才会走下一个 如下图是测试结果
ES6 Promise 对象
下图是我给了一个错误路径
ES6 Promise 对象

他的异步请求失败,第三个then方法没有触发
ES6 Promise 对象
总结:
Promise对象的then方法,在处理异步请求时,解决了异步回调地狱问题,异步地狱指的是第一个异步还没获取到数据时,下一个异步已经携带错误数据运行了