12. diel - Hierarchie coroutines a typ SupervisorJob v Kotline
V minulej lekcii, Rozhranie CompletableJob a zistenie stavu coroutines v Kotlin , som si ukázali, ako pre prácu s coroutines
využiť rozhranie CompletableJob a ďalšie atribúty inštancie
typu Job.
V dnešnom tutoriále si ukážeme, ako vytvoriť
rodičovskú coroutine (parent coroutine) a ako jej
priradiť potomkov (child coroutines). Zameriame sa
tiež na propagovanie výnimiek v tejto hierarchii objektov
typu Job a predstavíme si aj nový typ
SupervisorJob.
Hierarchia coroutines
Pomocou rozhrania Job môžeme tvoriť hierarchickú
štruktúru inštancií typu Job. Každá taká inštancia
môžeme mať svojich potomkov. Vďaka tomu môžeme napríklad
efektívnejšie spracovať informácie z nejakého zdroja na internete. V takom
prípade by sme vytvorili jeden completableJob na odoslanie
požiadavky na server a druhý completableJob na
spracovanie dát, ktoré nám zašle server. Potom by sme
vytvorili tretí completableJob, ktorý by reprezentoval
vykonanie oboch predošlých akcií.
Tvorba podriadených coroutines
Ukážme si teda, ako takú hierarchiu coroutines vytvoriť:
fun main() { val parentJob = Job() val requestJob = Job(parentJob) val handleJob = Job(parentJob) parentJob.complete() requestJob.complete() handleJob.complete() println(parentJob.isCompleted) }
V uvedenom príklade sme
...koniec náhľadu článku...
Pokračuj ďalej
Došiel si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiové sekcie.
Kúpiť tento kurz
Obsah článku spadá pod licenciu Premium, kúpou článku súhlasíš so zmluvnými podmienkami.
- Neobmedzený a trvalý prístup k jednotlivým lekciím.
- Kvalitné znalosti v oblasti IT.
- Zručnosti, ktoré ti pomôžu získať vysnívanú a dobre platenú prácu.
Popis článku
Požadovaný článok má nasledujúci obsah:
V Kotline tutoriálu vytvoríme hierarchiu coroutines a ukážeme si, ako sa propagujú výnimky medzi potomkami a rodičmi vrátane využitia typu SupervisorJob.
Kredity získaš, keď podporíš našu sieť. To môžeš urobiť buď zaslaním symbolickej sumy na podporu prevádzky alebo pridaním obsahu na sieť.