温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
Hello,大家好,这个小节呢,我们来介绍一下关键问题当中的第六个promise的异常穿透。什么是异常穿透呢?就是当我们在使用promise的Z方法进行链式任务去操作的时候。可以在最后呢,指定失败的毁掉。什么意思呢?就像这样子,你看我这里启动了一个promise。啊,这是一个promise的一个任务,然后后续呢,我用Z方法呢,又去进行了,诶几个其他的一些任务。那么在这个时候呢,我们只需要在最后的位置去指定失败的回调就可以。像这样子。啊,当然处理方式的话,我这就是简单的一个输出,就是我只需要在最后去指定一个失败的回调就可以了,当然我用Z方法也可以啊,我用Z的话需要传两个参数,用cash的话呢,就只需要传一个这种方式的话,这种形式用的比较多。
01:06
而在中间这些环节都不需要去指定失败的回调,这个就是异常的穿透,可以先看看它的一个结果,右键打开。打开控制台。你可以看一下啊,123它的显示没有问题啊,因为这是成功情况,现在我把它变成一个失败的情况。好,大家可以看一下刷新页面。好,第24行已经是输出了,而且输出这个结果刚好就是第一个promise当中它失败的那个结果的值。中间这些环节你不用管,你不用去指定失败的回调,只需要在最后去指定一个失败的回调,就可以去处理这个错误的结果或者失败的结果。这种现象,我们把它称之为是异常穿透。啊,当然不光是在这个任务当中,它出现错误啊,我们不需要去去单独去指定,在最后去指定就可以,而且中间这个环节。
02:09
啊,中间这个环节,即便说他们在某一个回调函数当中出现了错误,比如说抛出了错误,或者说返回了失败的promise,那么他们中间都不用去管,而是可以由最后的catch方法来实现对这个错误的一个处理。比方说。我在这个位置。大家可以看一下,我在这个位置,我死了一个啊,失败了。正常来说我们都会在Z方法的,就是在这个的后边。在这里边去指定一个失败的回调,来对这个结果去做处理,因为它有异常穿透特性,所以呢,下边这两个字方法不需要去指定失败回调。啊,只需要在最后呢放一个catch就可以了,可以看看结果,当然上面我得写一个这个成功,因为这成功之后呢,才会去执行这个回调函数。
03:05
好了,大家可以看一下。刷新页面。你看二十五行失败了,二十五行失败了,也就是说这个错误是由最终的这个catch方法的回调来处理的。这就是异常的穿透。好了,这个小节,关于异常穿透,我们就先介绍这么多。
我来说两句