Sobes.tech
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՝ ավտոմատ չեղարկման համար ժամանակի ավարտից հետո։