Junior — Middle
Чӣ гуна метавон иҷрои функсияи suspend-ро дар Kotlin оғоз кард?
sobes.tech AI
Ҷавоб аз AI
Дар Kotlin, функсияҳои suspend метавонанд танҳо аз дигар функсияҳои suspend ё аз корутин даъват шаванд. Барои оғоз кардани функсияи suspend дар берун аз контексти suspend, истифодаи scope-и корутин ва функсияҳои оғозкунӣ, масалан, launch ё async аз китобхонаи kotlinx.coroutines, зарур аст.
Масалан:
import kotlinx.coroutines.*
suspend fun fetchData() {
delay(1000) // имитацияи амали дароз
println("Маълумот гирифта шуд")
}
fun main() {
runBlocking { // оғоз кардани корутин ва бастани ҷараёни ҳозира
fetchData() // даъвати функсияи suspend дар контексти suspend
}
GlobalScope.launch { // оғоз кардани корутин дар scope-и глобалӣ
fetchData()
}
Thread.sleep(2000) // барои он ки барнома пеш аз вақти худ тамом нашавад
}
Аз ин рӯ, барои оғоз кардани функсияи suspend, бояд дар дохили функсияи suspend бошед ё корутинро бо истифода аз launch, async ё runBlocking оғоз кунед.