Junior — Middle
Ներկայացրեք async և await հիմնական տարրերի փոխազդեցության մեխանիզմը կորուտինների մշակման ժամանակ։
sobes.tech AI
Պատասխան AI-ից
Կոտլինում, korutin-ները օգտագործում են async և await բանալի բառերը ասինխրոն ծրագրավորման համար:
- async սկսում է նոր korutin և վերադարձնում է Deferred — հետաձգված արդյունք:
- await կանչվում է Deferred-ի վրա և դադարեցնում է ընթացիկ korutin-ի կատարմանը մինչև արդյունքի ստացումը, առանց հոսքը խոչընդոտելու:
Օրինակ:
val deferred = async {
// Լայնածավալ գործողություն
fetchData()
}
val result = deferred.await() // Ասինխրոն սպասում ենք արդյունքին
Այսպիսով, async թույլ է տալիս գործերը գործարկել զուգահեռ, իսկ await-ը՝ ստանալ նրանց արդյունքները, պահպանելով ասինխրոնությունը և առանց հիմնական հոսքը խոչընդոտելու։