00:00
最后一个叫P10楼的,我们一起来看用法。台4DJE。那么它也是要求向外默认暴露一个函数都一样,所有漏的都是函数。那么我们这里也是写一个最基本的内容。不做任何处理。好,然后呢,他要求就是在棒子这个对象中添加一个P方法。那么这个P值方法呢,就会在load执行的之前开始执行。那么之前是多钱呢?我们举个例子,假设我们在配置load的时候,通过use数组配置了三个load。分别去做LOAD1 load2和三。那么他们都是no的一个类型,所以他们执行顺序呢,是从右到左,从下到上,先执行三,再执行二,再执行一的。
01:00
那么要假设这些logo呢,都定义了这个P方法。那么lot到一的就做批式方法一,批式方法二和配方法三。好,当它真正执行的时候,它却是这样执行的,先调用NO1的P示方法,再调用NO2的批示方法,再调用NO3的批示方法,然后再调用no,也就说上面这个方法啊,我们记住normal normal3的方法,Normal这个二的方法,再调用normal的一的方法,它是这样的一个执行顺序。那么乘法呢,会优先执行。哎,那么我们可以验证一下。是不是这样的,我们来看一看。把这个T的复制一份T5 OK,那么复制之前呢,我们先把这个打印顺序写一下啊,上面这个执行呢,我们就叫normal的这个执行。我们记作NO1,那么下面这里就叫p load的一个方法,我们记作p load1,好复制啊,在T5这里面呢,我们记作NO2和P2。
02:05
复制我们再来一个T6。NOT3和三。好了,那么下面呢,在PA中我们去把这三个load分别都用上。分别是四、五和六。那么待会儿我们可以观察打印结果。我们看到它先执行的是P1 p2 P3,然后再正常执行啊NO3NO还NO1,所以它是先是由前由后往前执行它们的P示方法,再由前往后执行它的正常方法是这样的。这是这个执行的顺序。而且一旦有人在这里return的结果,那么下一个就会中断。
03:03
我们来看啊,比方说我们在TEST5的方法这里return的一个结果。当然这个结果是啥不重要,那么这时候我们观察它的打印结果。P11P12就某某一了。那么什么意思呢?我们来举个例子啊,我们现在还是一样,Use里面上面是正常方法。Normal的正常方法。123,他们直接说是321啊,下面是他们的P方法。也是123好,先执行B值一,它是正常的,没问题,再执行P叉,诶发现它有return了,一旦return呢,后面的都不执行了,都不执行了,都不执行了,然后直接会跳转到上一个load,执行上一个漏的正常方法,如果上一个没有漏,那么当前所有漏的处理就完成了。
04:00
所以你会发现到它打印数序是这样的,打印PH12,然后打印NORMAL1,因为一旦在这里return的结果,后面的这些load以及包括当前logo的正常的这个方法它都不执行了,它直接会回到上一个log的这个要执行的logo方法去执行。这种方式呢,我们叫熔断机制。熔断啊,就是走到这里呢,我后面都不走了,我直接回到之前去走就好了。这是这个。那么这个时候呢,我们对于我们后面开发是有很大用途的啊,我们后面可以利用这种机制呢,可以去直接拒绝后面的一些东西的执行,可以提前终止咱们的这个,呃,Logo的一些处理。那么比方说我们后面的三和C,那么在三中他就用上了这个P置方法来进行的垄断机制,后面我们会学习到。那么这里呢,我们只要掌握好这个log的一个基本配置就好了啊,正常配置的方法属于normal方法,那么加了P,它会优先执行。
05:05
好了,那么这里呢,就是我们这四个load的同步,异步和这个peach同步就正常,一般就写同步,如果里面要执行异步代码,就用异步load。那么如果处理的是图片这些文件,我们得用reno来得到它的buff法数据。那么我们如果处理一个文件需要用多个load,那么我们可以考虑用p load去当遇到一些问题的时候,或者是做一些事情的时候,可以提前中断,不让后面load来执行了,我们可以提前进入最后的流程。好了,那么这里呢,就是咱们的四种漏洞类型了。
我来说两句