Android 协程 超时任务

Posted 安果移不动

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 协程 超时任务相关的知识,希望对你有一定的参考价值。

    /**
     * 超时任务
     */
    @Test
    fun `test deal with timeout`() = runBlocking<Unit> 
        withTimeout(1300) 
            repeat(1000)  i ->
                println("job:I'm sleeping $i ...")
                delay(500)

            
        
    

时间不够会自动抛出异常退出

 可以使用withnull拿到结果

   /**
     * 超时任务
     */
    @Test
    fun `test deal with timeout return null`() = runBlocking<Unit> 
        //时间不够会自动抛出异常退出
       val res=withTimeoutOrNull(1300) 
            repeat(2)  i ->
                println("job:I'm sleeping $i ...")
                delay(500)
            
           "done"
        
        println(res)
    

2次的重复肯定是返回done 如果三次则返回null

以上是关于Android 协程 超时任务的主要内容,如果未能解决你的问题,请参考以下文章