Junior — Middle
Ինչպես կարելի է չեղարկել Kotlin Coroutine-ով սկսված առաջադրանքը?
sobes.tech AI
Պատասխան AI-ից
Kotlin Coroutine-ի միջոցով սկսված գործառույթը չեղարկելու համար օգտագործվում է Job-ի միջոցով չեղարկման մեխանիզմը:
Երբ դուք սկսում եք coroutine, այն վերադարձնում է Job օբյեկտ, որը կարելի է օգտագործել չեղարկելու համար:
val job = CoroutineScope(Dispatchers.Default).launch {
// Ուշ երկար գործողություն
for (i in 1..1000) {
if (!isActive) return@launch // չեղարկման ստուգում
println("Իտերացիա $i")
delay(100)
}
}
// Հետագայում, գործառույթը չեղարկելու համար՝
job.cancel()
Կարևոր է coroutine-ի ներսում պարբերաբար ստուգել isActive վիճակը կամ օգտագործել այն ֆունկցիաները, որոնք աջակցում են չեղարկմանը (օրինակ, delay), որպեսզի coroutine-ը կարողանա ճիշտ ավարտվել չեղարկման ժամանակ:
Նույնպես, կարելի է օգտագործել withTimeout կամ withTimeoutOrNull՝ ավտոմատ չեղարկման համար ժամանակի ավարտից հետո։