kotlin withTimeoutOrNull超时返回
import kotlinx.coroutines.delay
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withTimeoutOrNull
fun main(args: Array<String>) {
testTimeOut(1000) //如果是2000,则正常返回 OK
}
fun testTimeOut(time: Long) {
runBlocking {
var result = withTimeoutOrNull(time) {
repeat(3) {
println(it)
delay(500L)
}
return@withTimeoutOrNull "OK"
}
println(result)
}
println("阻塞结束")
}
outputs:
0
1
null
阻塞结束