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.