Sobes.tech
Junior — Middle

Hoe kun je een tijdslimiet instellen voor coroutines in je project?

sobes.tech AI

Antwoord van AI

Om de uitvoeringstijd van coroutines in Kotlin te beperken, kun je de functies withTimeout of withTimeoutOrNull uit de kotlinx.coroutines-bibliotheek gebruiken. Deze stellen je in staat om een maximale uitvoeringstijd voor een codeblok in te stellen, en als de coroutine niet binnen deze tijd voltooid is, wordt respectievelijk een TimeoutCancellationException gegooid of null geretourneerd.

Voorbeeld:

import kotlinx.coroutines.*

fun main() = runBlocking {
    try {
        withTimeout(1000L) { // limiet van 1000 milliseconden
            repeat(5) { i ->
                println("Iteratie $i")
                delay(300L) // simulatie van werk
            }
        }
    } catch (e: TimeoutCancellationException) {
        println("Uitvoertijd is verlopen")
    }
}

Op deze manier kun je de duur van coroutines controleren en vastlopen of te lange operaties voorkomen.