nefericire asincronă dot net

Asincronismul e la modă. Azi nu mai mergi la WC pur și simplu ca o nevoie ci ca un awaitable task și în paralel, pe alt fir de execuție ar fi frumos să răspunzi și la mobil. Aproape totul este “așteptabil”.

Așa cum o poveste Linux are pe toata pagina, de sus până jos tradiționala coloană sudo, așa în .net în ultima vreme codul se decorează cu Await purtat pe stânga.

Nu e greu deci de ce să mă opun așa că let’s Await:

2015-06-12_144806

 

Ooo, scuze! Asta e ex.cepția care confirmă moda, iertare! Să corectăm:

2015-06-12_144752

Dacă tot e așa deștept încât să îți dea seama de subtilitate (care nu e chiar critică), ar fi frumos să nu mă îndemne la o bălărie ce nici măcar nu se poate compila. Cum aș putea afișa un mesaj pe Catch? Cu AwaitJustALittle? Nu că l-aș lăsa acolo dar am nevoie puțin de el să testez niște drepturi.

Sigur ați putea să îmi propuneți să scot Async din declarație care oricum e 100% degeaba (vezi întreaga documentație care se străduiește să explice că Async nu înseamnă ca se execută ceva asincron și că de fapt mai degrabă e un fel de Await în timp ce Await de fapt înseamnă… ați ghicit, exact Async!). Nu pot să îl scot pentru că deși e un complet inutil (se putea infera la compilare din prezența a cel puțin un Await dacă s-ar fi vrut), am un alt inevitabil Await care abia… așteaptă.

Albă sau neagră? Mai lasă-mă dracului și pe mine să trăiesc!

5 thoughts on “nefericire asincronă dot net”

    1. Asta e sincron sau asincron? Ca să știu pe care din cele 2 cazuri mutual exclusive te afli. Dacă ești pe asincron cum pari, te informez că în ciuda bogăției sintactice ești pe cazul cu Await care nu e tolerat de try/catch. Dacă nu, ești pe cazul 2. Cum poți fi altfel decât sincron sau asincron?

  1. Ti-am dat link; dar uite ca iti si dau „cu paste”

    Executes a delegate asynchronously on the thread that the control’s underlying handle was created on.

Lasă un răspuns la mrx Anulează răspunsul

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *