Я новичок в kotlin и его концепции сопрограммы.
У меня ниже сопрограммы с использованием withTimeoutOrNull -
import kotlinx.coroutines.*
fun main() = runBlocking {
val result = withTimeoutOrNull(1300L) {
repeat(1) { i ->
println("I'm with id $i sleeping for 500 ms ...")
delay(500L)
}
"Done" // will get cancelled before it produces this result
}
println("Result is $result")
}
Вывод -
I'm sleeping 0 ...
Result is Done
У меня есть другаяПрограмма сопрограммы без таймаута -
import kotlinx.coroutines.*
fun main() = runBlocking {
val result = launch {
repeat(1) { i ->
println("I'm sleeping $i ...")
delay(500L)
}
"Done" // will get cancelled before it produces this result
}
result.join()
println("result of coroutine is ${result}")
}
output -
I'm sleeping 0 ...
result of coroutine is StandaloneCoroutine{Completed}@61e717c2
Как получить результат вычисления в сопрограмме kotlin, если я не использую withTimeoutOrNull, как моя вторая программа.