对Promise的理解
1.什么是promise?
Promise是一个用于异步编程处理的对象。其有三种状态:完成执行状态(fulfilled),正在执行状态(pending),失败状态(rejected)。
2.Promise的作用
主要为了解决回调嵌套太多的造成回调地狱的情况。
3.如何使用Promise
首先创建一个Promise的对象
let p = new Promise(function (resolve, reject) {
// resolve 是指异步操作从正在进行到成功的函数
// reject 是指异步操作从正在进行到失败的函数
// 调用成功的函数,此处可选择传入参数,可以不传。
// 若有参数传入的时候,在执行.then时,其函数内部也要传入相同的参数;若没传,前后都应无参数。
resolve()
})
//p是new的promise的实例
//p.then(成功的函数resolve,失败的函数reject)
// p.then(function(){},function(){})
p.then(function () {
console.log(data);
});
4.Promise.all与Promise.race的使用
-
let p1 = new Promise(function(resolve, reject){})
-
let p2 = new Promise(function(resolve, reject){})
-
let p3 = new Promise(function(resolve, reject){})
Promise.all([p1,p2,p3],function )
//Promise.all()必须等数组内所有的promise执行完毕才成功。
Promise.race([p1,p2,p3],function )
//Promise.race()只要数组内有任意一个成功就执行。