Promise用来表示延迟操作也就是异步操作的结果
Promise 对象代表了未来将要发生的事件,用来传递异步操作的消息
Promise主要用于异步计算
Promise 创建 Promise 创建
pending 是 初始状态
fulfilled 是 操作成功的状态
rejected 是 操作失败的状态
1、接收两个函数作为参数,分别代表fulfilled(成功)和rejected(失败)
2、.then()返回一个新的Promise实例,所以它可以链式调用
(1)如果then方法中回调函数返回一个值那么then返回的Promise将会成为Resolved状态,并且将返回的值
作为Resolved状态的回调函数的参数值。
var p = new Promise(function (resolve, reject) {
resolve('fun');
});
3、当前面的Promise状态改变时,.then()根据其最终状态,选择特定的状态响应函数执行
4、状态响应函数可以返回新的promise,或其他值,不返回值也可以我们可以认为它返回了一个null;
5、如果返回新的promise,那么下一级.then()会在新的promise状态改变之后执行
6、如果返回其他任何值,则会立即执行下一级.then()
.then的情况
1、因为.then()返回的还是Promise实例
2、会等里面的then()执行完,再执行外面的