Async/Await în JavaScript

Async/Await în JavaScript

Pentru că în ultimii ani nu prea am lucrat decât marginal cu JS, nu am fost chiar la curent cu ultimele noutăți (vorba vine, că-s în limbaj de ani buni). Știam de existența lor, foloseam ce înțelegeam (sau credeam că înțeleg) dar cam atât. Iar perechea async/await este exemplul perfect ce l-am înțeles cât se poate de… greșit.

Ce am înțeles bine: cum definești o funcție:

async function foo() {}

Asta înseamnă că de fiecare dată când apelezi funcția asta o să-ți întoarcă un Promise că îți dă rezultatul cândva. I.e. poți face foo().then(... ).

Ce am înțeles mai puțin… bine: cum funcționează await: nu știu cum, nu știu de ce, aveam impresia că tot ce urmează după operația asyncronă are nevoie de un await în față. Prin urmare, ajungeam să fac ceva de genul:

const foo = await fetch();
const bar = await document.classList.add('...')
const foobar = await foo.results
// etc

Evident că e greșit: ai nevoie de await doar la operațiunile … asincrone.

Sigur, era cât se poate de suficient să citesc în manual, dar hei…

Bonus: PHP Storm face highlight la toate await dintr-o metodă atunci când faci click pe async.

Adaugă un comentariurăspuns pentru

Poți adăuga bucăți de cod folosind [code]codul tău aici[/code], [js][/js], [php][/php] etc.

Link-urile în context sunt binevenite. Comentariile fără nume/email valid sunt șterse.
PS: Comentariul NU este editabil.

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.

Site-ul blog.iamntz.com utilizează cookie-uri. Continuarea navigării presupune acceptarea lor. Mai multe informații.

windows apple dropbox facebook twitter