Promize可理解为一个状态机
有三种状态 pending,fulfilled 和
试验一
当catch存在时 reject的回调会直接往catch传参
function promise(){
return new Promise(function(resolve, reject){
setTimeout(function(){
console.log('执行完成');
if(!true){
resolve('正确');
}else{
reject("错误")
}
}, 2000);
});
}
promise().then(res=>{
console.log(res)
console.log(hello),
res=>{
asadasdasdas
console.log(res+"我前面执行了一断错误的代码")
}
}).catch(res=>{
console.log(res+"直接跳到这里来")
console.log("继续执行")
})
运行结果
试验二
当执行then()里的 resolve 出错时 会往catch抛出异常
function promise(){
return new Promise(function(resolve, reject){
setTimeout(function(){
console.log('执行完成');
if(true){
resolve('正确');
}else{
reject("错误")
}
}, 2000);
});
}
promise().then(res=>{
console.log(res)
aaaa
res=>{
asadasdasdas
console.log(res+"我前面执行了一断错误的代码")
}
}).catch(res=>{
console.log(res+"直接跳到这里来")
console.log("继续执行")
})
网友评论