Async in Await v JavaScriptu sta močni ključni besedi, ki se uporabljata za obravnavo asinhronih operacij z obljubami. Async funkcije implicitno vrnejo obljube, medtem ko Await začasno ustavi izvajanje, dokler obljuba ni razrešena. To poenostavi asinhrono kodo in izboljša berljivost, tako da je videti sinhrono.
Asinhrona funkcija
Theasync>
nam omogoča pisanje kode, ki temelji na obljubah, kot da bi bila sinhrona. To zagotavlja, da izvedbena nit ni blokirana.
abstrakcija v Javi
- Ravnanje z obljubo : Async funkcije vedno vrnejo obljubo. Če je vrnjena vrednost, ki ni obljuba, jo JavaScript samodejno ovije v razrešeno obljubo.
Asinhrona sintaksa
async function myFunction() { return 'Hello'; }>
primer: Tukaj bomo videli osnovno uporabo async v JavaScriptu.
javascript const getData = async () =>{ let data = 'Hello World'; povratni podatki; } getData().then(data => console.log(data));>
Izhod
Hello World>
Počakajte na ključno besedo
Theawait>
ključna beseda se uporablja za čakanje na rešitev obljube. Uporablja se lahko samo znotraj asinhronega bloka.
- Premor izvajanja : Await povzroči, da koda čaka, dokler obljuba ne vrne rezultata, kar omogoča čistejšo in bolj obvladljivo asinhrono kodo.
Sintaksa
let value = await promise;>
Primer : Ta primer prikazuje osnovno uporabo ključne besede await v JavaScriptu.
javascript const getData = async () =>{ naj y = čaka 'Hello World'; console.log(y); } console.log(1); getData(); console.log(2);>
Izhod
1 2 Hello World>
The asinh ključna beseda pretvori običajno funkcijo JavaScript v asinhrono funkcijo, zaradi česar vrne obljubo.
The čakati ključna beseda se uporablja znotraj asinhrone funkcije, da začasno ustavi njeno izvajanje in počaka, da se obljuba razreši, preden nadaljuje.
semena proti sporam
Primer Async/Await
Tukaj bomo implementirali več obljub v metodo, nato pa to metodo uporabili za prikaz našega rezultata. Lahko preverite JS sintaksa async/await v primeru.
Javascript function asynchronous_operational_method() { let first_promise = new Promise((resolve, reject) =>razreši ('Pozdravljeni')); let second_promise = new Promise((resolve, reject) => { setTimeout(() => { resolve(' techcodeview.com..'); }, 1000); }); naj kombinirana_obljuba = Obljuba.vse([prva_obljuba, druga_obljuba]); vrni kombinirano_obljubo; } async function display() { let data = await asynchronous_operational_method(); console.log(podatki); } prikaz();>
Izhod:
enakost java objektov
[ 'Hello', ' techcodeview.com..' ]>
Pojasnilo:
- Obljuba ustvarjanja :
- Ustvarjeni sta dve obljubi: ena se razreši takoj s Hello, druga pa se razreši po 1 sekundi s techcodeview.com...
- Združevanje obljub :
- Metoda Promise.all() združi obe obljubi v eno samo obljubo,combined_promise.
- Asinhrona funkcija :
- Funkcija display() je deklarirana kot async, kar pomeni, da vsebuje asinhrone operacije.
- Čakanje na obljubljeno rešitev :
- Ključna beseda await začasno ustavi izvajanje, dokler kombinirana_promise ni razrešena.
- Rezultat beleženja :
- Razrešeno polje izcombined_promise se zabeleži v konzolo.
Opomba
Za rešiti in zavrniti so vnaprej določeni argumenti s JavaScriptom.
- funkcija razreši se uporabi, ko je asinhrona naloga končana in vrne rezultat.
- funkcija zavrnitve se uporablja, ko asinhrona naloga ne uspe in vrne razloge za napako.
Prednosti Async in Await
- Izboljšana berljivost : Async in Await omogočata pisanje asinhrone kode v sinhronem slogu, kar olajša branje in razumevanje.
- Obravnava napak : Uporaba blokov try/catch z async/await olajša obravnavanje napak.
- Izogiba se peklu povratnega klica : pomoč Async in Await pri izogibanju ugnezdenim povratnim klicem in zapletenim verigam obljub.
- Boljše odpravljanje napak : Odpravljanje napak v async/await kodi je bolj intuitivno, saj se obnaša kot sinhrona koda.
Zaključek
Async in Await v JavaScriptu sta revolucionirala asinhrono programiranje, tako da je koda postala bolj berljiva in vzdržljiva. Z omogočanjem pisanja asinhrone kode v sinhronem slogu zmanjšajo kompleksnost, povezano s povratnimi klici in veriženjem obljub. Razumevanje in učinkovita uporaba async in await lahko znatno izboljša vaše sposobnosti programiranja JavaScript, kar olajša obvladovanje asinhronih operacij v vaših projektih.
Podprti brskalniki:
Brskalniki, ki jih podpira JS Funkcija Async/Await so navedeni spodaj:
- Google Chrome 55 in novejši
- Firefox 52 in novejši
- Apple Safari 10.1 in novejši
- Opera 42 in novejše
- Rob 14 in več