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:
Ooo, scuze! Asta e ex.cepția care confirmă moda, iertare! Să corectăm:
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!
Await un moment!
Tu te crezi la moda si nici un MessageBox ansyncron nu shtii sa foloseshti?
Ia ajută-mă tu. Cum ar fi trebuit să fie linia aia ca să mulțumească pe toată lumea?
Sintaxa e urita dar na:
(New Action(Sub() MessageBox.Show(„Hello”))).BeginInvoke(Nothing, Nothing)
https://msdn.microsoft.com/en-us/library/system.windows.forms.control.begininvoke(v=vs.110).aspx
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?
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.