then和catch返回值
1.都是会返回Promise
2.正常情况下resolve,遇到错误,rejected
var p = Promise.resolve(100).then(res=>{
console.log(res)
throw "err"
})
p.then(()=>{
console.log(200)
}).catch(err=>{
console.log(err)
}).then(()=>{
console.log(300)
})
异常的处理
(async () => {
var p = Promise.reject("err");
try {
let res = await p;
console.log(res)
}catch(err){
console.log(err)
}
})()
Promise.reject("err").catch((err)=>{
console.log(err)
})
状态
pending
resolved
rejected
var p = new Promise((resolve,reject)=>{
//
setTimeout(()=>{
resolve()
})
})
setTimeout(()=>{
console.log(p)
})
console.log(p)