问答题896/1620【Promise第15题】下面代码的输出是什么?

1Promise.resolve(1) 2 .then(res => { 3 console.log(res); 4 return 2; 5 }) 6 .catch(err => { 7 return 3; 8 }) 9 .then(res => { 10 console.log(res); 11 });
难度:
2022-01-09 创建

参考答案:

解析

Promise可以链式调用,不过promise 每次调用 .then 或者 .catch 都会返回一个新的 promise,从而实现了链式调用, 它并不像一般我们任务的链式调用一样return this。

上面的输出结果之所以依次打印出1和2,那是因为resolve(1)之后走的是第一个then方法,并没有走catch里,所以第二个then中的res得到的实际上是第一个then的返回值。

且return 2会被包装成resolve(2)。

结果

1
2

最近更新时间:2022-01-09

赞赏支持

题库维护不易,您的支持就是我们最大的动力!