promise介绍
-
概念
1 一个异步操作的对象(一切面向对象) 2 数据请求pending 进行中 fulfilled 请求成功 rejected 请求失败
-
创建
const myPromise = new Promise((resolve, reject) =>{ if (success) { resolve(value) } else { reject(error) } }) 说明: resolve表示请求成功后的回调函数 reject表示请求失败后的回调函数
-
绑定回调函数
myPromise.then(function(res){ // success },function(error){ //failure })
-
promise对象方法一
Promise.all(iterable) iterable 可迭代对象 返回值为一个Promise实例对象 iterable中存在非promise对象则会自动转换为promise对象 var p1 = Promise.resolve(3) //请求成功后传入的参数为3 var p2 = 4 var p3 = new Promise((resolve,reject) =>{ setTimeout(resolve,1000,5) }) //使用 Promise.all([p1,p2,p3]).then(res = >{ console.log(res) }) //[3,4,5] 说明 :传入的promise对象中有一个返回失败,promise.all立马返回失败,且返回值为第一个值中的错误值
-
Promise对象方法二
Promise.race(iterable) race 比赛的意思。可迭代的对象中谁最先执行完成那么,Promise.race的返回值就是那个最先完成的对象
-
Promise.resolve(value)
返回一个promise对象,且状态成功后执行的回调函数,值为resolve传递的value
-
Promise.reject(value)
返回一个promise对象,且状态失败后执行的回调函数,值为eject传递的value
8.Promise.prototype.then()
状态从pending改变后执行
Promise.prototype. catch()
状态从pending进入失败后执行
Promise.prototype. finally()
最终结束之前执行