Sobes.tech
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.