加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

给Task 添加 Action的方法

发布时间:2023-05-18 12:59:56 所属栏目:教程 来源:
导读:我们创建一个 Task 后可以根据我们的需要给 Task 添加不同的 Action,上面的“doLast”就是给队列尾增加一个Action。下面我们先来了解以下,关于 Task 添加 Action 的一些 API:

//在Action 队列头部添
我们创建一个 Task 后可以根据我们的需要给 Task 添加不同的 Action,上面的“doLast”就是给队列尾增加一个Action。下面我们先来了解以下,关于 Task 添加 Action 的一些 API:

 //在Action 队列头部添加Action
 Task doFirst(Action<? super Task> action);
 Task doFirst(Closure action);
 //在Action 队列尾部添加Action
 Task doLast(Action<? super Task> action);
 Task doLast(Closure action);
    
 //已经过时了,建议用 doLast 代替
 Task leftShift(Closure action);
 //删除所有的Action
 Task deleteallActions();
关于上面的 API,deleteall 就是删除所有的 Action,这个我们不用太多讲解,而 leftShift 和 doLast 其实是一样的就是在队列的尾部增加一个 Action。这个 leftShift API 已经过时,我们建议使用 doLast 代替。关于 doFirst 和 doLast 我们下面通过一个例子来讲解:

//创建一个名字为apiTask的 task 
task apiTask {
    //创建一个 Action , 添加到 Action 列表的头部
   doFirst(new Action<Task>() {
       @Override
       void execute(Task task) {
           println "action1++++++++++"
       }
   })
    //创建一个 Action , 添加到 Action 列表的头部
    doFirst {
        println "action2++++++++++"
    }
    //创建一个 Action , 添加到 Action 列表的尾部
    doLast(new Action<Task>() {
       @Override
       void execute(Task task) {
           println "action3++++++++++"
       }
   })
        //创建一个 Action , 添加到 Action 列表的尾部
    doLast {
        println "action4++++++++++"
    }
}
我们在上面的例子的 Task 队列中,先添加了 action1,然后再在头部添加了 action2,现在队列从头到尾应该是"action2=>action1"然后再在队尾增加 action3,action4,最终队列里面从头至尾依次为:“action2 => action1 => action3 => action4”。我们下面执行 apiTask 任务看看是不是输出这个顺序。
 

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章