Promise.then()的两个参数是什么,分别是干什么的?第二个参数和catch的区别

本文探讨了Promise.then()的两个参数及其作用,重点解释了第一个参数处理成功回调,第二个参数用于捕获异常,以及它与catch方法的区别。文章指出,虽然then的第二个参数可以捕获异常,但推荐使用catch进行错误处理,因为catch不仅能够捕获then中的错误,还具有更清晰的同步代码风格。
摘要由CSDN通过智能技术生成

今天面试的时候被问到了Promise.then()的两个参数,以及作用是什么,我确实从来没有注意过第二个参数,平时也没有用到过,所以结束以后来补一下这个知识点。

首页我们先要区分几个概念:

  1. reject是用来抛出异常的,catch是用来处理异常的;
  2. reject是Promise的方法,而then和catch是Promise实例的方法(Promise.prototype.then
    和 Promise.prototype.catch)。

最主要区别就是then中第一个函数里抛出的异常,它的第二个函数是捕获不到异常的,后面的catch可以捕获到(或者第二个then的第二个函数也可以捕获到);
且then的第二个参数和catch捕获异常时会采取就近原则,当两者都存在时,则只有then的第二个参数能捕获到,如果then的第二个参数不存在,则catch方法会捕获到;

const p = new Promise((resolve, reject)=>{
   
  resolve()  //抛出成功时的结果
})

p.then((res)=>{
   
  throw new Error('hello');
}).then(()=>{
   
异步处理async/await+Promise和对Promise.all和Promise.race的理解
JackieDYH的博客
08-05 1227
async/await 的优势在于处理 then 链 单一的 Promise 链并不能发现 async/await 的优势,但是,如果需要处理由多个 Promise 组成的 then 链的时候,优势就能体现出来了(很有意思,Promise 通过 then 链来解决多层回调的问题,现在又用 async/await 来进一步优化它)。 假设一个业务,分多个步骤完成,每个步骤都是异步的,而且依赖于上一个步骤的结果。 我们仍然用setTimeout来模拟异步操作: /** * 传入参数 n,..
手把手一行一行代码教你“手写Promise“,完美通过 Promises/A+ 官方872个测试用例
圆圆的 JavaScript 博客
12-20 1752
保姆级教程,看完还不懂的私聊我亲自教!
Promise使用
weixin_47450807的博客
10-09 378
Promise的使用 Es6中的Promise使得异步变得比同步变成简单,大大减少了代码量。 标题1. Promise的基本使用 新建一个Promise对象 var p=new Promise() 添加异步操作 在这里使用了jQuery,应该在文件中引入jQuery文件 var p=new Promise(function(resolve,reject) { $.ajax({ url:'arr.txt', dataType:'json', success(data){ re
2022-12-30 Promise是构造函数,then()和catch()是绑定在原型上的方法,then的第二个参数catch区别,基于Promise处理AJAX请求
GAARA
12-30 309
文章目录 1.验证:Promise的本质是一个构造函数 2.Promise的原型上绑定的属性和方法 2.1.Promise的原型上绑定的属性constructor指向new Promise出来的实例 2.2.Promise的原型上绑定的方法then 语法 说明 示例 当executor函数抛出错误或者返回一个拒绝的Promise时,then将返回一个拒绝的Promise 2.3.Promise的原型上绑定的方法catch 语法 概括 描述 示例 3.then的第二个参数catch有什么区别?
promise
最新发布
Aimonz的博客
09-18 231
【代码】promise
Promise中then的两个参数catch的介绍
py_boy的博客
03-07 1万+
JS中的Promise一共有三种状态,分别为pending(等待)、fulfilled(成功)、rejected(失败), Promise的状态同一时间只能为一种状态。 1.Promise只能由Pending转化为fulfilled或者rejected,fulfilled与rejected不能相互转化 var pro=new Promise((resolve,reject)=>{ r...
Promise中的then第二个参数catch有什么区别
gogo_steven的博客
12-02 3420
Promise中的then第二个参数catch有什么区别? 首页我们先要区分几个概念,第一,reject是用来抛出异常的,catch是用来处理异常的;第二:reject是Promise的方法,而then和catchPromise实例的方法(Promise.prototype.then 和 Promise.prototype.catch)。 1. 区别 主要区别就是,如果在then的第一个函数里...
Promise 中的 then 第二个参数catch 有什么区别
彤先森的博客
07-15 739
Promise 中的 then 第二个参数catch区别
Promise.then的第二个参数catch区别
weixin_30881367的博客
03-11 742
1、异常捕获 getJSON("/post/1.json").then(function(post) { return getJSON(post.commentURL); }).then(function funcA(comments) { // 这里的异常,then的第二个参数捕获不到 console.log("resolved: ", comments); }...
promise接地气讲解....async await promise try...catch
CJamenc的博客
11-04 512
简单介绍下这几个的关系 为方便起见 用以下代码为例简单介绍下这几个东西的关系, async function buildData(name) { try { let response1 = await axios.get('/api/user?name=' + name); let userInfo = response1.data; let response2 = await axios.get('/api/topics?use
Promise中的then第二个参数catch区别
BigChicken3的博客
12-03 1838
Promise中的then第二个参数catch有什么区别? 首页我们先要区分几个概念: reject是用来抛出异常的,catch是用来处理异常的; reject是Promise的方法,而then和catchPromise实例的方法(Promise.prototype.then 和 Promise.prototype.catch)。 一、区别 主要区别就是,如果在then的第一个函数里抛出了异常,后面的catch能捕获到,而then的第二个函数捕获不到。 catch只是一个语法糖而己 还是通过then
什么是回调地狱,如何用Promise解决回调地狱<附:Promise.then的第二个参数catch区别
mkbird的博客
05-03 967
文章目录解决异步回调地狱同步(单)和异步(多)回调地狱Promise基本概念promise实现图片异步加载用Promise时的注意事项使用async和await解决回调地狱 解决异步回调地狱 同步(单)和异步(多) 同步任务:都在主线程上执行,形成一个主线程执行栈 异步任务:通过回调函数实现,主要有以下三种 普通事件,click、resize等 资源加载,load、error等 定时器,setInterval、setTimeout等 异步任务相关回调函数添加到**任务队列(消息队列)**中 回调地
ES6标准入门》(六)之Promise对象2——then()和catch()方法
热门推荐
眼里长着太阳,笑里全是坦荡
07-07 10万+
1.Promise.prototype.then()方法Promise 实例具有then方法,也就是说,then方法是定义在原型对象Promise.prototype上的。它的作用是为 Promise 实例添加状态改变时的回调函数。then方法的第一个参数是resolved状态的回调函数,第二个参数(可选)是rejected状态的回调函数。then方法返回的是一个新的Promise实例(注意,不是...
promise两个参数的具体作用
anliujia6342的博客
09-01 974
 Promise通常配合then方法来链式的使用,then方法里面第一个回调函数表示成功状态,也就是resolve通过.then调用,第二个是失败状态-reject通过.Cath调用,如果默认写一个参数的话,默认resolve   代码会输出Hello World! 通过封装函数实现.then用法 function Print (ready) { ...
promise then err_Promise中的then第二个参数catch有什么区别
weixin_39874366的博客
11-27 598
Promise中的then第二个参数catch有什么区别?首页我们先要区分几个概念,第一,reject是用来抛出异常的,catch是用来处理异常的;第二:reject是Promise的方法,而then和catchPromise实例的方法(Promise.prototype.then 和 Promise.prototype.catch)。1. 区别主要区别就是,如果在then的第一个函数里抛出了...
理解promise中的then
我抢了你的网名
01-26 2154
  官方文档定义:      一个 promise 必须提供一个 then 方法以访问其当前值、终值和据因。     promise 的 then 方法接受两个参数:     promise.then(onFulfilled, onRejected) Todo:这里只介绍onFulfilled,所以删除了关于onRejected的规范定义     onFulfilled 和 onRej...
通俗浅显的理解promise中的then
EGeek
05-10 1723
通俗浅显的理解promise中的then 这篇文章写的太好了,忍不住copy过来,不用什么基础就能理解吃透promise的then PromiseES6中定义的规范,不会使用Promise,都不敢说自己用过ES6,大部分介绍Promise的规范的文章对于新手小白来说看得云里雾里,且并不是通俗易懂。本文通过实例介绍讲述Promise中then的的最通俗应用理解,代码建立在不出现异常的情况的操作下,不严谨之处,请以官方规范为标准。 先看一下下面4个Promise到底有什么区别呢? func().then(fu
promise.then的第二个参数catch
04-05
promise.then的第二个参数catch区别在于: 1. then的第二个参数是一个可选的回调函数,用于处理promise的reject状态,而catch是一个特殊的then方法,用于处理promise的reject状态。catch的优势在于它可以更加...
写文章

热门文章

  • npm WARN config global `--global`, `--local` are deprecated. Use `--location解决方案 33821
  • Mixed spaces and tabs no-mixed-spaces-and-tabs解决方法 21010
  • TypeError: this.$refs.resetFields is not a function解决方法 16511
  • ‘XXX‘ is defined but never used解决方法 16497
  • [WDS] Disconnected解决方法 11644

分类专栏

  • JS 15篇
  • 数据结构与算法 7篇
  • Vue 5篇
  • mybug 14篇

最新评论

  • Mixed spaces and tabs no-mixed-spaces-and-tabs解决方法

    花笙_: 感谢博主!解决了,很有用

  • Windows环境下node.js安装及环境配置【超详细】

    m0_74799174: 那两个文件夹可以不用命令建么?直接在nodejs中右键单机建立可以么

  • [WDS] Disconnected解决方法

    qmcqmcqmc: 项目打包完成后就没有了

  • ‘XXX‘ is defined but never used解决方法

    终极VIP用户: 小丸子 牛的

  • Mixed spaces and tabs no-mixed-spaces-and-tabs解决方法

    解析氢氧: 感谢博主,一片爆红马上解决了

最新文章

  • react原生函数实现页面滚动到一定高度后显示悬浮按钮
  • 带你秒懂 SSR-服务端渲染
  • 【动态规划】- js 求解打家劫舍问题
2022年33篇
2021年11篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家北京商场美陈价格温州室内商场美陈玻璃钢雕塑喷漆厂玻璃钢人物不锈钢雕塑制作家用玻璃钢花盆批发安顺玻璃钢雕塑定制玻璃钢蔬菜雕塑售价石河子玻璃钢雕塑制作厂家四川玻璃钢骏马雕塑公园玻璃钢卡通雕塑临沂公仔玻璃钢雕塑卡通玻璃钢雕塑的分类南阳玻璃钢花盆多少钱广东广州玻璃钢肖像雕塑玻璃钢雕塑座椅厂鹰潭玻璃钢卡通雕塑艺术玻璃钢雕塑制作多少钱商场春节美陈时间信宜玻璃钢卡通老鼠雕塑南宁玻璃钢泡沫雕塑厂家深圳特色玻璃钢雕塑摆件金山区拉丝玻璃钢雕塑销售价格鹤壁铸铜玻璃钢人物雕塑公司武汉市政工程绿化玻璃钢花盆长沙玻璃钢卡通雕塑价格深圳户外商场美陈厂家供应安徽玻璃钢花盆组合宁波玻璃钢雕塑设计玻璃钢商城广场美陈雕塑厂家贵州商场美陈雕塑厂家香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化