Sobes.tech
Middle

როგორ მუშაობს async საკვანძო სიტყვა და await ოპერატორი C#-ში?

sobes.tech AI

პასუხი AI-სგან

async მეთოდი ასინქრონულად მონიშნულია, რაც საშუალებას აძლევს გამოიყენოს await მასში. ეს თავად მეთოდს არ აქცევს ასინქრონულად, მაგრამ საშუალებას აძლევს კომპილატორს შექმნას მდგომარეობის მანქანა, რომელიც მართავს შესრულებას.

await გამოიყენება წინადადების წინ, რომელიც აბრუნებს Task ან Task<T>. იგი აჩერებს მიმდინარე async მეთოდის შესრულებას, სანამ ელოდებადი დავალება არ დასრულდება, ისე რომ არ ბლოკავდეს შესრულების ნაკადს. დავალების დასრულების შემდეგ, მეთოდი განაგრძობს შესრულებას await-ის შემდეგ. თუ დავალება აბრუნებს შედეგს (Task<T>), await ამ შედეგს აბრუნებს.

public async Task<int> GetDataAsync()
{
    // ასინქრონული ოპერაცია
    HttpClient client = new HttpClient();
    string result = await client.GetStringAsync("http://example.com"); 

    // შესრულება განაგრძობს GetStringAsync-ის დასრულების შემდეგ
    // შედეგის დამუშავება
    return result.Length; 
}