promise的catch和finally方法

1:catch方法 具体看代码

 

复制代码
 1 const promise = new Promise((resolve, reject) => {
 2         // resolve()
 3         // reject('rejected meaasge') 第一种写法
 4         //第二种写法 抛出异常
 5         throw new Error("rejected message")
 6     })
 7     //1当executor 抛出异常后,也是会调用错误捕获的回调函数的 
 8 promise.then(undefined, (err) => {
 9         console.log(err);
10         console.log('-----------');
11     })
12     //2通过catch来传入拒绝(错误)捕获的回调函数 就不用传入resolve的回调函数
13 promise.catch((err) => {
14         console.log(err);
15         console.log('-----------');
16     })
17     //3:语法糖 这里回调的还是原来的promise 而不是then方法的新promise
18 promise.then(res => {
19         throw new Error('then的error')
20     }).catch(err => {
21         console.log(err);
22     })
23     //4:catch的返回值 本身也是返回promise
24 promise.then(res => {
25     throw new Error('then的error')
26 }).catch(err => {
27     console.log(err);
28     return 'catch retrun value'
29 }).then(res => {
30     console.log(res);
31 }).catch(err => {
32     console.log(err);
33 })
复制代码

2:finally方法 具体看代码

复制代码
 1 //finally 无论fullfiled还是rejected状态都会执行
 2 const promise = new Promise((resolve, reject) => {
 3     // resolve('heihei')
 4     reject('error message')
 5 })
 6 promise.then(res => {
 7     console.log(res);
 8 }).catch(err => {
 9     console.log(err);
10 }).finally(() => {
11     console.log('finnally始终会执行');
12 })
复制代码

 

posted @   沁霓  阅读(319)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示