是否可以执行正在进行的工作

维卡斯·阿查里亚(Vikas Acharya)

我有一个像下面这样的工作

job = GlobalScope.launch {
    delay(5000)
    runOnUiThread {
        some unwanted code
    }
}

该作业将等待5秒钟执行。并在5秒钟前取消通话

job?.cancel()

现在,有没有办法在5秒钟之前执行此作业?

我在寻找类似的东西,job?.forceExecute.ignoreDelays或者job?.forceExecute.ignoreDelay("FirstDelay")是否有类似名字的选项delay(5000,"FirstDelay")

这对我避免样板代码很有帮助。

大矢现场

我能想到的一种可能的解决方案是使用withTimeout而不是延迟,并在超时的情况下执行任务,您可以检查TimeoutCancellationException

GlobalScope.launch {
        try {
            withTimeout(5000){
                //Imagine checkThisCondition() is a suspension function which will check the condition you need and return boolean
                val condition : Boolean = checkThisCondition()
                if(condition){
                    executeTheTask()
                }
            }
        } catch (e : TimeoutCancellationException){
            executeTheTask()
        }
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正在进行备份时,我可以继续工作吗?

来自分类Dev

是否可以将正在进行的Android应用发送给某人进行测试?

来自分类Dev

是否可以将正在进行的Android应用发送给某人进行测试?

来自分类Dev

内核团队是否有正在进行的工作来改善linux下的电池寿命?

来自分类Dev

内核团队是否有正在进行的工作来改善linux下的电池寿命?

来自分类Dev

是否有支持 Apple T2 芯片 SSD 的计划或正在进行的工作?

来自分类Dev

Nike + API:是否可以获取正在进行的跑步会话的实时更新?

来自分类Dev

android应用关闭后,是否可以更新正在进行的通知?

来自分类Dev

只要我的活动正在进行,我是否可以收到意向书?

来自分类Dev

检查任务是否正在进行芹菜热关机

来自分类Dev

如何知道git中是否正在进行合并

来自分类Dev

检查CloudKit数据库操作是否正在进行

来自分类Dev

取消正在进行的磁盘部分格式是否安全?

来自分类Dev

如何知道文本转语音是否正在进行?

来自分类Dev

Tkinter正在进行的活动

来自分类Dev

使用Kubernetes是否有一种方法可以等待吊舱完成其正在进行的任务然后再进行更新?

来自分类Dev

GIT从提交的初始状态创建一个新分支,而不会丢失正在进行的工作

来自分类Dev

从 Git 分支移动正在进行的工作并将其移动到主题分支

来自分类Dev

有什么办法可以取消dojo中正在进行的上传吗?

来自分类Dev

有什么方法可以使FullCalendar在事件到期或正在进行时触发功能?

来自分类Dev

Lync可以为正在进行的通话切换音频设备吗?

来自分类Dev

我可以在一个终端上运行两个正在进行的程序吗?

来自分类Dev

WPF-数据绑定时是否正在进行某种隐式转换?

来自分类Dev

正在进行的parse.com请求是否继续计入API限制?

来自分类Dev

C#检查是否正在进行复制作业

来自分类Dev

如果正在进行扩展智能检查,则“安全”使用磁盘是否安全?

来自分类Dev

正在进行的备份过程中升级软件包是否会使备份无法使用?

来自分类Dev

是否有一些有趣的编译器正在进行?

来自分类Dev

WPF-数据绑定时是否正在进行某种隐式转换?

Related 相关文章

  1. 1

    正在进行备份时,我可以继续工作吗?

  2. 2

    是否可以将正在进行的Android应用发送给某人进行测试?

  3. 3

    是否可以将正在进行的Android应用发送给某人进行测试?

  4. 4

    内核团队是否有正在进行的工作来改善linux下的电池寿命?

  5. 5

    内核团队是否有正在进行的工作来改善linux下的电池寿命?

  6. 6

    是否有支持 Apple T2 芯片 SSD 的计划或正在进行的工作?

  7. 7

    Nike + API:是否可以获取正在进行的跑步会话的实时更新?

  8. 8

    android应用关闭后,是否可以更新正在进行的通知?

  9. 9

    只要我的活动正在进行,我是否可以收到意向书?

  10. 10

    检查任务是否正在进行芹菜热关机

  11. 11

    如何知道git中是否正在进行合并

  12. 12

    检查CloudKit数据库操作是否正在进行

  13. 13

    取消正在进行的磁盘部分格式是否安全?

  14. 14

    如何知道文本转语音是否正在进行?

  15. 15

    Tkinter正在进行的活动

  16. 16

    使用Kubernetes是否有一种方法可以等待吊舱完成其正在进行的任务然后再进行更新?

  17. 17

    GIT从提交的初始状态创建一个新分支,而不会丢失正在进行的工作

  18. 18

    从 Git 分支移动正在进行的工作并将其移动到主题分支

  19. 19

    有什么办法可以取消dojo中正在进行的上传吗?

  20. 20

    有什么方法可以使FullCalendar在事件到期或正在进行时触发功能?

  21. 21

    Lync可以为正在进行的通话切换音频设备吗?

  22. 22

    我可以在一个终端上运行两个正在进行的程序吗?

  23. 23

    WPF-数据绑定时是否正在进行某种隐式转换?

  24. 24

    正在进行的parse.com请求是否继续计入API限制?

  25. 25

    C#检查是否正在进行复制作业

  26. 26

    如果正在进行扩展智能检查,则“安全”使用磁盘是否安全?

  27. 27

    正在进行的备份过程中升级软件包是否会使备份无法使用?

  28. 28

    是否有一些有趣的编译器正在进行?

  29. 29

    WPF-数据绑定时是否正在进行某种隐式转换?

热门标签

归档