Promise 对象是ECMAScript 6提供的,用来表示一个异步操作的最终完成(或者失败)及其结果值;
一个 Promise
对象代表一个在这个 promise 被创建出来时不一定已知的值。它让您能够把异步操作最终的成功返回值或者失败原因和相应的处理程序关联起来。 这样使得异步方法可以像同步方法那样返回值:异步方法并不会立即返回最终的值,而是会返回一个 promise,以便在未来某个时候把值交给使用者。
一、Promise基础使用如下:
let myPromise = new Promise((resolve, reject) => {
//当异步代码执行成功时,调用resolve();失败时,调用reject()
//这里使用setTimeout(...)来模拟异步代码,实际编码时可能是ajax请求或是一些API方法
setTimeout(function(){
resolve("success");
}, 1000);
});
myPromise.then(data => {
//data值是上面resolve()方法传入值;
console.log(data);
}).catch(msg => {
//msg是上面reject()方法传入值;
console.log(msg);
});
二、静态方法使用如下:
1、Promise.all(iterable)
该promise对象在iterable参数对象里所有的promise对象都成功的时候才会触发成功,一旦有任何一个iterable里面的promise对象失败则立即触发该promise对象的失败。触发成功状态以后,会把一个包含iterable里所有promise返