JavaScript - Promise的catch()方法,知识扩展finally方法

本文介绍了JavaScript中Promise的catch方法,强调了其作为then方法的特例,专门处理rejected态。阐述了catch的基本用法,指出在Promise链中使用catch捕获未处理的错误的重要性。此外,还扩展讲解了finally方法,说明finally会在Promise无论成功或失败时执行,且不接受参数。
摘要由CSDN通过智能技术生成

catch简介

catch方法的作用:

很多情况我们只需传promise的成功态(resolved)下调用的then方法的第一个处理函数,所以为了更好的语义化,我们使用then方法专门处理resolved态,使用catch方法专门处理rejected态

catch方法的本质:

catch的本质是then方法的特例,即:then(null,err => {}); 不处理成功态,只处理失败态。

catch的基本用法

Promise的错误不会消失,直到被捕获为止:

new Promise((resolve,reject)=>{
        reject('reason');
    }).then(data => { // 处理成功态
        console.log(data); // 未输出
    }).catch(err => { // 捕获失败
        console.log(err); // 输出'reason'
    })

catch()可以捕获它前面为被处理或捕获的错误,一般总是建议,Promise对象后面要跟catch方法,这样可以处理Promise内部发生的错误。

catch方法跟then方法一样,会返回一个新的promise,默认情况也是resolved状态。如果是失败状态则需手动修改,或者直接将新的错误抛出。

 new Promise((re
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值