Junior — Middle
Kotlin'de askıya alınmış bir fonksiyon nasıl başlatılır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Kotlin'de, askıya alınmış fonksiyon (suspend function) doğrudan başlatılmaz, sadece başka bir askıya alınmış fonksiyon veya coroutine içinden çağrılabilir. Bir askıya alınmış fonksiyonu başlatmak için, kotlinx.coroutines kütüphanesinden launch veya async gibi yapılar kullanılarak bir coroutine oluşturulmalıdır.
Bir askıya alınmış fonksiyonun nasıl başlatılacağına örnek:
import kotlinx.coroutines.*
suspend fun doWork() {
delay(1000)
println("İş tamamlandı")
}
fun main() = runBlocking {
launch {
doWork() // coroutine içinde askıya alınmış fonksiyonun başlatılması
}
}
Burada, runBlocking ana akışta bir coroutine oluşturur ve launch yeni bir coroutine başlatır, bu coroutine içinde askıya alınmış fonksiyon doWork çağrılır. Böylece, askıya alınmış fonksiyon bir coroutine içinde çalıştırılır.