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 协程 超时任务的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin 协程协程取消 ③ ( finally 释放协程资源 | 使用 use 函数执行 Closeable 对象释放资源操作 | 构造无法取消的协程任务 | 构造超时取消的协程任务 )
我想在使用 kotlin 协程的 android 超时后取消一个函数,但它不起作用
Kotlin 协程协程简介 ( 协程概念 | 协程作用 | 创建 Android 工程并进行协程相关配置开发 | 异步任务与协程对比 )
Kotlin 协程协程简介 ( 协程概念 | 协程作用 | 创建 Android 工程并进行协程相关配置开发 | 异步任务与协程对比 )