Sobes.tech
Junior

C#-də await açar sözü necə istifadə olunur?

sobes.tech Süni İntellekt

AI-dan cavab

C# dilində await açar sözü, asinxron əməliyyatın tamamlanmasını bloklamadan gözləmək üçün istifadə olunur.

await istifadəsi yalnız async modifieri ilə işarələnmiş asinxron metodlar daxilində mümkündür.

İcra await ifadəsinə çatdıqda, idarə axını çağırana geri qaytarılır və metod "dayandırılır"; gözlənilən tapşırıq tamamlanana qədər. Tapşırıq tamamlandıqdan sonra, metodun icrası dayandırıldığı yerdən davam edir.

Bu, çağıran iş parçacığını (məsələn, istifadəçi interfeys iş parçacığı və ya veb server iş parçacığı) digər tapşırıqları yerinə yetirmək üçün azad etməyə imkan verir, bu da tətbiqin cavabvermə qabiliyyətini və miqyasını artırır.

public async Task<string> GetDataAsync()
{
    // Uzun müddətli asinxron əməliyyatın simulyasiyası
    await Task.Delay(2000);
    return "Məlumat alındı";
}

public async Task ProcessDataAsync()
{
    Console.WriteLine("İşləmə başlayır...");
    string result = await GetDataAsync(); // GetDataAsync tamamlanmasını gözləyir, bloklamadan
    Console.WriteLine($"Nəticə: {result}");
    Console.WriteLine("İşləmə tamamlandı.");
}

await açar sözü aşağıdakılarına tətbiq oluna bilər:

  1. Tapşırıqlar (Task, Task<T>, ValueTask, ValueTask<T>): ən çox istifadə olunan ssenari.
  2. awaitable tiplər: GetAwaiter() metoduna malik obyektlər, IsCompleted, GetResult()OnCompleted() metodlarını qaytaran tiplər (davamı dəstəkləmək üçün).

await istifadəsi asinxron kodu daha oxunaqlı və sinxron kod kimi göstərir, bu da davam etdirmə kodunu əl ilə yazma və ya callback-lərdən istifadə etmə ehtiyacını aradan qaldırır.