Junior — Middle
როგორ შეიძლება გამოიძახო suspend ფუნქცია სინქრონულ კოდში?
sobes.tech AI
პასუხი AI-სგან
მეტწილად, პირდაპირ ვერ გამოიძახავთ suspend ფუნქციას სინქრონულ კოდში, რადგან ის საჭიროებს კორუტინის კონტექსტს. თუმცა, შეგიძლიათ დაიწყოთ კორუტინა და დაელოდოთ შედეგს ბლოკირებით runBlocking ფუნქციის გამოყენებით.
მაგალითი:
import kotlinx.coroutines.*
fun main() {
val result = runBlocking {
suspendFunction()
}
println(result)
}
suspend fun suspendFunction(): String {
delay(1000)
return "შედეგი"
}
runBlocking ქმნის კორუტინის სკოპს და ბლოკავს მიმდინარე ნაკადს კორუტინის დასრულებამდე, რაც საშუალებას აძლევს გამოიყენოთ suspend ფუნქციები სინქრონულ კოდში.