Sobes.tech
Junior — Middle

Senkron kod içinde suspend fonksiyonu nasıl çağırabilirsiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Bir suspend fonksiyonunu doğrudan senkron koddan çağrılamaz, çünkü bu fonksiyon coroutine bağlamı gerektirir. Ancak, bir coroutine başlatıp sonucu engelleyici şekilde runBlocking fonksiyonu ile bekleyebilirsiniz.

Örnek:

import kotlinx.coroutines.*

fun main() {
    val result = runBlocking {
        suspendFunction()
    }
    println(result)
}

suspend fun suspendFunction(): String {
    delay(1000)
    return "Sonuç"
}

runBlocking, bir coroutine scope oluşturur ve coroutine tamamlanana kadar mevcut thread'i engeller, böylece suspend fonksiyonlar senkron kodda kullanılabilir.