Junior — Middle
Korutinalarda zəncir qurma şablonlarını sadalayabilir və təsvir edə bilərsənmi?
sobes.tech Süni İntellekt
AI-dan cavab
Android (Kotlin) korutinlərində, zəncirləri qurmaq üçün tez-tez aşağıdakı nümunələr istifadə olunur:
-
Silsiləli icra (Silsiləli zəncirləmə): korutinlər bir-bir çağırılır, əvvəlkinin nəticəsi növbətində istifadə olunur.
-
Paralel icra və nəticələrin toplanması (Paralel və toplama ilə): bir neçə korutin async istifadə edilərək paralel başlatılır və sonra nəticələr await ilə toplanır.
-
Zəncir içində səhv idarəetməsi (Səhv idarəetməsi): hər mərhələdə istisnaları idarə etmək üçün korutinlər daxilində try/catch istifadə olunur.
-
Məlumat axınlarının çevrilməsi (Flow zənciri): map, filter, flatMap və s. operatorları ilə reaktiv zəncirlər qurmaq üçün Flow istifadə olunur.
Silsiləli zəncir nümunəsi:
suspend fun fetchData(): Data = ...
suspend fun processData(data: Data): ProcessedData = ...
suspend fun saveData(processedData: ProcessedData) = ...
suspend fun chain() {
val data = fetchData()
val processed = processData(data)
saveData(processed)
}
Paralel zəncir nümunəsi:
coroutineScope {
val deferred1 = async { fetchData1() }
val deferred2 = async { fetchData2() }
val result1 = deferred1.await()
val result2 = deferred2.await()
// nəticələrin birləşdirilməsi
}