为什么要给then传递两个函数参数?抛出错误不是应该在catch里么

来源:8-20 手写 Promise-then 的链式调用

慕虎258424

2022-03-22

老师,不是很理解,在then函数里传递两个函数参数(then(fn1,fn2){}),如果说有一个是抛出错误的,那么为啥不直接用catch?
图片描述
当reject的时候,调用的是catch,直接写p1().catch()是能输出的,
但是当给then里传递两个参数的时候,reject就会调用then的第二个参数了,catch就没用了。。。。这里不是很理解

写回答

1回答

双越

2022-03-22

Promise 规范里,then 就是可以接收两个参数。你可以只给then 传递一个参数,同时用 catch ,但我们手写 Promise 就得考虑 then 的两个参数。

0
0

一天时间高效准备前端技术一面 匹配大厂面试要求

针对时下面试高频考点,帮助新人js面试快速通关

4694 学习 · 1681 问题

查看课程