Junior — Middle
Izskaidrojiet Async/Await konstrukcijas darbības principus un īstenošanas mehānismu programmēšanā.
sobes.tech AI
Atbilde no AI
Async/Await ir sintaktiskais cukurs darbam ar asinkroniskam kodam, balstīts uz promises (Task C#). Lietojot, metode tiek kā asinkronu un var saturēt await atslēgvārdu, kas pārtrauc metodes izpildi līdz asinkronās operācijas pabeigšanai, neblokējot pavedienu.
Darbības mehānisms:
- Metode ar async atgriež Task vai Task<T>.
- Izsaucot await, metode tiek pārtraukta un kontrole tiek atgriezta izsaucējam.
- Kad asinkronā operācija pabeidzas, metodes izpilde turpinās pēc await.
Piemērs C#:
public async Task<int> GetDataAsync()
{
var result = await SomeLongRunningOperationAsync();
return result;
}
Tas vienkāršo lasīšanu un rakstīšanu ar asinkrono kodu, padarot to līdzīgu sinhronajam kodam.