我对Promise的总结
promise可用于解决回调地狱,将异步操作队列化,提高代码可读性,灵活的使用catch捕抓reject错误,then调用回调得到resolve的返回值。
promise.all()的参数是数组,返回的结果也是数组。可用于解决多个请求的问题,如:我的3号请求需要用到2号和1号请求的返回结果,这时候就可以用promise.all把1和2的请求结果返回给3使用。
promise配合async和await使用,才能更好的解决回调地狱,提高代码可读性。await只能在async声明的函数里使用。
promise.all里的参数有固定顺序,promise.race,哪个执行快,返回的数组里就排前面。
使用
function test1(values){
return new Promise((resolve,reject)=>{
if(values==1){
resolve(values)
}else{
reject(“错误了,values不是1哦!”)
}
})
}
//直接then调用
test1(1).then(resolve=>{
console.log(resolve) // 1
}).catch(reject){
console.log(resolve) // 如果values不等于则此处打印"错误了,values不是1哦!"
}
//async和await
async function test2() {
try {
const promise1 = await test1(100);
console.log(promise1)
} catch (error) {
console.log(“rejct”, error)
}
}
test2()