Promise: 承诺,许诺
作用:解决异步回调问题
传统方式,大部分用回调函数,事件
ajax(url,{ // 获取token
ajax(url,()=>{ // 获取用户信息
ajax(url,()=>{
// 获取用户相关新闻
})
})
})
语法:
let promise = new Promise(function(resolve,reject){
// resolve 成功调用
// reject 失败调用
})
promise.then(res => {
},err => {
})
promise.catch() // 捕获错误
promise.resolve("aa"):将所有的东西,转成一个promise对象,resolve状态,成功状态
等价于 new Promise(resolve = >{
resolve("aaa")
})
promise.reject("aaa"):将现有的东西,转成一个promise对象,reject状态,失败状态
等价于 new Promise((resolve,reject) = >{
resolve("aaa")
})
* Promise.all([p1,p2,p3]):把promise打包,扔到一个数组里面,打包完还是一个promise对象
必须确保,所有的promise对象,都是resolve状态,都是成功状态
Promise.race([p1,p2,p3]):只要有一个成功,就返回