Async ja Await in JavaScript ovat tehokkaita avainsanoja, joita käytetään käsittelemään asynkronisia toimintoja lupauksin. Async-funktiot palauttavat implisiittisesti lupaukset, kun taas Await keskeyttää suorituksen, kunnes lupaus on ratkaistu. Tämä yksinkertaistaa asynkronista koodia ja parantaa luettavuutta saamalla sen näyttämään synkroniselta.
Asynkronointitoiminto
Theasync>
-funktion avulla voimme kirjoittaa lupauspohjaista koodia ikään kuin se olisi synkronista. Tämä varmistaa, että suoritussäiettä ei tukkeudu.
happoominaisuuksien tietokanta
- Lupaa käsittelyä : Async-funktiot palauttavat aina lupauksen. Jos palautetaan arvo, joka ei ole lupaus, JavaScript käärii sen automaattisesti ratkaistuksi lupaukseksi.
Asynkroninen syntaksi
async function myFunction() { return 'Hello'; }>
Esimerkki: Täällä näemme asyncin peruskäytön JavaScriptissä.
javascript const getData = async () =>{ anna data = 'Hei maailma'; palauttaa tiedot; } getData().then(data => console.log(data));>>
Lähtö Hello World>
Odota avainsanaa
Theawait>
avainsanaa käytetään odottamaan lupauksen ratkaisemista. Sitä voidaan käyttää vain asynkronisessa lohkossa.
- Suoritustauko : Odota saa koodin odottamaan, kunnes lupaus palauttaa tuloksen, mikä mahdollistaa puhtaamman ja hallittavamman asynkronisen koodin.
Syntaksi
osi mallin kerroksetjavascript
const getData = async () =>{ anna y = odottaa 'Hei maailma'; console.log(y); } console.log(1); getData(); console.log(2);>>
Lähtö
The odottaa avainsanaa käytetään async-funktion sisällä keskeyttämään sen suorittaminen ja odottamaan lupauksen ratkeamista ennen kuin jatkat.
Async/wait esimerkki
Tässä toteutamme useita lupauksia menetelmässä, ja sitten käytämme sitä menetelmää tuloksemme näyttämiseen. Voit tarkistaa JS:n async/wait syntaksi esimerkissä.
Javascript function asynchronous_operational_method() { let first_promise = new Promise((resolve, reject) =>ratkaista('Hei')); anna toinen_lupaus = new Lupaus((ratkaise, hylkää) => { setTimeout(() => { ratkaista(' techcodeview.com..'); }, 1000); }); let combined_promise = Lupaus.kaikki([ensimmäinen_lupaus, toinen_lupaus]); palauttaa yhdistetty_lupaus; } async function display() { anna data = odottaa asynchronous_operational_method(); console.log(data); } näyttö();>>
Lähtö:
Selitys:
- Lupaa Luominen :
- Kaksi lupausta luodaan: yksi ratkaisee välittömästi Hellolla ja toinen 1 sekunnin kuluttua techcodeview.com:lla...
- Lupausten yhdistäminen :
- Promise.all()-menetelmä yhdistää molemmat lupaukset yhdeksi lupaukseksi, yhdistetty_lupaus.
- Asynkroninen toiminto :
- Display()-funktio on ilmoitettu asynkroniseksi, mikä osoittaa, että se sisältää asynkronisia toimintoja.
- Lupauksen ratkaisua odotellessa :
- Odotusavainsana keskeyttää suorituksen, kunnes combined_promise on ratkaistu.
- Kirjaustulos :
- Ratkaistu taulukko yhdistetystä_promisesta kirjataan konsoliin.
Huomautus
Vastaanottaja ratkaista ja hylätä ovat JavaScriptin ennalta määritettyjä argumentteja.
- Ratkaisutoimintoa käytetään, kun asynkroninen tehtävä on suoritettu ja palauttaa tuloksen.
- hylkäämistoimintoa käytetään, kun asynkroninen tehtävä epäonnistuu ja palauttaa epäonnistumisen syyt.
Asyncin ja Awaitin edut
- Parannettu luettavuus : Async ja Await mahdollistavat asynkronisen koodin kirjoittamisen synkroniseen tyyliin, mikä helpottaa sen lukemista ja ymmärtämistä.
- Virheiden käsittely : Try/catch-lohkojen käyttäminen async/await-toiminnolla tekee virheiden käsittelystä yksinkertaista.
- Välttää takaisinsoittohelvetin : Async ja Await auttavat välttämään sisäkkäisiä takaisinkutsuja ja monimutkaisia lupausketjuja.
- Parempi virheenkorjaus : Async/wait-koodin virheenkorjaus on intuitiivisempaa, koska se käyttäytyy kuin synkroninen koodi.
Johtopäätös
JavaScriptin Async ja Await ovat mullistaneet asynkronisen ohjelmoinnin tekemällä koodista luettavampaa ja ylläpidettävämpää. Sallimalla asynkronisen koodin kirjoittamisen synkroniseen tyyliin ne vähentävät takaisinkutsuihin ja lupausten ketjuttamiseen liittyvää monimutkaisuutta. Async- ja await-toimintojen ymmärtäminen ja käyttäminen voi merkittävästi parantaa JavaScript-ohjelmointitaitojasi, mikä helpottaa asynkronisten toimintojen käsittelyä projekteissasi.
terminaali kali linux
Tuetut selaimet:
JS:n tukemat selaimet Async/wait-toiminto on lueteltu alla:
- Google Chrome 55 ja uudemmat
- Firefox 52 ja uudemmat
- Apple Safari 10.1 ja uudemmat
- Opera 42 ja uudemmat
- Reuna 14 ja yli