Junior — Middle
Await bilan ishlatilgan asinxron funktsiya va sinxron funktsiya bajarilish natijalari qanday farq qiladi?
sobes.tech AI
AIdan javob
C# tilida asinxron funktsiya Task yoki Task<T> turidagi ob'ektni qaytaradi, bu kelajakda mavjud bo'ladigan natija va'dasini ifodalaydi. Bunday funktsiyani chaqirganda, bajarilish darhol davom etadi, natijani kutmasdan.
Await operatori asinxron funktsiya bilan ishlatilganda, joriy metodning bajarilishi vazifa tugaguncha to'xtatiladi va keyin natija qaytariladi. Shu tarzda, await asinxron kodni sinxron ko'rinishda yozishga imkon beradi.
Misol:
async Task<int> GetNumberAsync()
{
await Task.Delay(1000); // asinxron operatsiyaning imitatsiyasi
return 42;
}
async Task Example()
{
var task = GetNumberAsync(); // asinxron tarzda ishga tushiriladi
int result = await task; // tugashini kutamiz va natijani olamiz
Console.WriteLine(result);
}
Xulosa qilib aytganda: asinxron funktsiya vazifa (task) qaytaradi va await vazifaning natijasini olishga imkon beradi, metodning bajarilishini uning tugashigacha to'xtatadi.