一、什么是Promise
Promise是由社区提出的,用于解决异步回调深渊的一种方案。
Promise是异步编程的一种解决方案,它有三种状态,分别是pending进行中、resolved已完成、rejected已失败。
二、Promise的使用
1、声明一个Promise对象
方法1:
let promise = new Promise(function(resolve,reject){
//业务逻辑
if(success){
resolve(a); //pedding -> resolve
}else{
reject(err); //pedding -> rejected
}
})
方法2(常用):
function promise(){
return new Promise(function(resolve,reject){
if(success){
resolve(a); //pedding -> resolve
}else{
reject(err); //pedding -> rejected
}
});
}
注:实例化的Promise对象会立即执行。
2、promise的方法
then(function(data){
}) //resolv状态执行then方法
catch() //rejected状态,执行catch方法
语法糖:
async
await
异常捕获:
try{
//代码块
}catch(){
// 异常处理
}finally{
//都要执行
}