00:00
欢迎大家继续观看上硅谷ID基础视频,这节课我们继续讲解任务的规则。当我们执行一个不存在的任务的时候,Do势必会报错。那我们能不能对这种现象做一个改进,就是当哪怕我们执行一个不存在的任务的时候,能不能让他打印提示信息,而不是报错呢?诶,这个我们是可以做到的。来我们这里首先准备一个hello task,然后我们在这里执行grid ABC hello。我在执行这个指令的时候,由于ABC这个任务它不存在,所以它会报错,ABC报错之后它也会影响到哈,这个任务的执行啊,所以hello,任务也没有执行。而且这里报的就是ABC这个类,我找不着。那我现在想要做的就是当某个任务找不着的时候,或者说不存在的时候,我让他打印提示信息,而不是报错,这种怎么整呢?诶我们可以为啊name添加。一些规则,添加规则的时候,我们可以使用两个参数的,这个前面指定这个规则的说明信息,后边指定一个B包,B包作为方法参数的最后一个参数的时候可以啊,把它提取到括号外边。
01:12
OK啊,然后这里比如说。啊,或者说上硅谷的粉丝们啊,实际上这个就是对规这个任务规则的一些说明信息。OK啊,然后第二个参数是一个B包,然后在B包里边儿咱们也可以啊,通过string类型的。Askme接收这个赖永明。然后通过这个。Name。啊,那通过这个task声明一个任务。OK啊,然后在这个任务里边,咱们也就提示。
02:01
这个任务不存在就可以了。则。Task name。Is not exist。好。然后我们再来执行。这一次,即使ABC这个任务它不存在,他也不会报错,而是打印这个提示信息。没有问题。啊,而且这个任务不存在的时候,他也不会影响到其他任务的执行了。OK啊,这是咱们自定义啊,任务规则。行,当然啊,刚才咱们这里只是打印了一个提示信息,实际上你也可以啊,写其他的业务逻辑。啊,比如说你在动态的分配一些其他任务也是可以的。接着咱们看一下任务的only if断言。这个only if断言咱们从字面意思就能知道啊,就是当只有满足某个条件的情况下。
03:05
啊,他才会执行某个任务。来吧,咱们看一下,比如说这里提供了一个hello这个任务,然后在这里啊,我给hello这个任务指定了一个only if断言。咱们要求。Hello,这个任务。啊,必须存在一个粉丝这个属性的时候啊,应该是不存在是吧,必须是不存在这个粉丝这个属性的时候,它才会啊执行。来吧。比如咱们也执行哈,现在哈这个任务确实不存在,粉丝这个属性不存在的时候,他会执行,哎,你看。确实,他执行了,输出了这句话。啊,但是如果存在这个属性呢,比如说我执行hello的时候,通过杠大批。为这个任务指定了一个粉丝属性。
04:00
那如果有这个粉丝属性的话,他就不满足only if断言不满足的时候,他就不执行这个任务了,所以啊,他这里并没有做输出。啊,没有问题。OK啊,这是only if断言,只有当if后边这个返回为true的时候,这个任务才会执行,否则就会啊,跳过。接着我们提一下grade组中的默认任务。这个默认有什么意思呢?就是当咱们定义了一个任务之后。咱们希望在构建过程中,假如说自动执行它,那能不能做到呢?来你可以看一下,现在是做不到的。比如说我们执行。这个build指令的时候,你会发现他根本啊不会执行这个任务。是吧?那我能不能在执行一些G指令的时候,就让它默认执行某些任务呢?啊,这个我们是可以做到的,我看。
05:00
是吧,这个确实没有啊,执行这个哈,啊,确实没有。那怎么整?就这样。比如说咱们这里声明了几个任务。一个是my clean。这个任务。然后一个是my right这个任务,一个是either这个任务,然后如果我想把哪个任务声明成默认的任务,我就在这里用default task声明一下就可以了。比如说我把my clean和MY这两个任务生成默认执行的任务。这样,当我们在执行G。啊,指令的时候他就会啊。执行。这个默认的任务。来,你可以看一下,说他确实执行了my clean,还有啊,MY这两个默认的任务,而这个MY,而这个either任务它并没有执行。
06:01
OK啊,这是这个默认name。
我来说两句