Promi中then的两个参数与catch的介绍

更新时间:2023-08-12 01:22:04 阅读: 评论:0

Promi中then的两个参数与catch的介绍
JS中的Promi⼀共有三种状态,分别为pending(等待)、fulfilled(成功)、rejected(失败),五四青年节演讲稿励志
Promi的状态同⼀时间只能为⼀种状态。
台风 英语1.Promi只能由Pending转化为fulfilled或者rejected,fulfilled与rejected不能相互转化
var pro=new Promi((resolve,reject)=>{
沪江日语在线翻译resolve();
reject();
})
pro.then(()=>{
console.log('resolve1');
},()=>{console.log('reject1')}).catch(()=>{
console.log('catch1')
卸载英文})
//输出结果为resolve1
var pro=new Promi((resolve,reject)=>{
reject();
resolve();
})
pro.then(()=>{
console.log('resolve1');
},()=>{console.log('reject1')}).catch(()=>{
console.log('catch1')
})
//输出reject1
如果then添加了第⼆个参数,这时候就不会执⾏catch⾥⾯的代码
2.Promi中的then不添加第⼆个参数,这时候就会执⾏catch⾥⾯的代码
var pro=new Promi((resolve,reject)=>{
k1搏击// resolve();
reject();
2011年江苏高考英语
})
xsysinfo
pro.then(()=>{
console.log('resolve1');
}).catch(()=>{
console.log('catch1')
})
//catch1
3.Promi的链式结构
Promi的链式结构原理是pro.then()或pro.catch()这个函数执⾏的返回值会返回⼀个promi对象,所以可以继续调⽤then或者catch,来完成链式结构。
pro.then(()=>{
console.log('resolve1');
},()=>{console.log('reject1')}).catch(()=>{
console.log('catch1')
}).then(()=>{
console.log('resolve2');
},()=>{console.log('reject2')}).catch(()=>{
console.log('catch2');
}).then(()=>{
console.log('resolve3');
})
//输出resolve1 resolve2 resolve3
但是有个重点是"promi执⾏完毕后返回的promi默认进⼊fulfilled状态",所以执⾏完毕后默认执⾏链式结构中的resolve回调。
var pro=new Promi((resolve,reject)=>{
// resolve();
reject();
})
pro.then(()=>{
console.log('resolve1');
},()=>{console.log('reject1')}).catch(()=>{
console.log('catch1')
}).then(()=>{
console.log('resolve2');
},()=>{console.log('reject2')}).catch(()=>{
console.log('catch2');
}).then(()=>{
console.log('resolve3');
})
/
/reject1 resolve2 resolve3
执⾏进⼊失败状态后,链式结构也会执⾏之后的resolve回调。
var pro=new Promi((resolve,reject)=>{
resolve();
reject();
})
pro.then(()=>{
console.log('resolve1');
},()=>{console.log('reject1')).catch(()=>{
wonderland什么意思console.log('catch1')
}).catch(()=>{
console.log('catch2');
})
//输出结果 resolve1
如果不存在then,则也不会执⾏catch⾥⾯的代码,因为默认进⼊fullfilled状态。需要记住的点是,进⼊什么状态就会什么代码。4.then⾥⾯的resolve报错,catch是可以捕获报错信息,then的第⼆个参数不能捕获
可以看到,resolve的回调执⾏报错可以被catch捕获到
没有执⾏resolve代码,直接进⼊了reject
就算没有reject回调,还是会进⼊reject回调
如果不存在then的第⼆个回调,则会进⼊catch
如果catch的执⾏过程中报错,则进⼊之后相邻的catch 未完待续。。。。。。。。。。
四级写作模板>branching

本文发布于:2023-08-12 01:22:04,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/78/1129639.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:状态   结构   链式   参数   默认
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图