Sobes.tech
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-ը՝ ստանալ նրանց արդյունքները, պահպանելով ասինխրոնությունը և առանց հիմնական հոսքը խոչընդոտելու։