JavaScript Async
- Edellinen sivu JS-lupaus
- Seuraava sivu DOM-esittely
"async and await make promises easier to write"
async Jätä funktio palauttamaan Promise
odottaa Jätä funktio odottamaan Promise
Async-grammatiikka
Avainsana funktio async
Jätä funktio palauttamaan promise:
Esimerkki
async function myFunction() { palauta "Hello"; }
Tämä on samanarvoinen:
async function myFunction() { palauta Promise.resolve("Hello"); }
Tässä on esimerkkejä Promise-käytöstä:
myFunction().then( function(value) { /* Onnistuessaan */ }, function(error) { /* Virheen tapahtuessa */ } );
Esimerkki
async function myFunction() { palauta "Hello"; } myFunction().then( function(value) {myDisplayer(value);}, function(error) {myDisplayer(error);} );
Tai yksinkertaisemmin, koska odotat normaalista arvoa (normaalista vastauksesta, ei virheestä):
Esimerkki
async function myFunction() { palauta "Hello"; } myFunction().then( function(value) {myDisplayer(value);} );
Await-grammatiikka
Avainsana funktio odottaa
Jätä funktio odottamaan promise:
let value = await promise;
odottaa
Avainsanat voivat olla vain async
Funktioiden sisällä
Esimerkki
Käymme hitaasti läpi, miten sitä käytetään.
Perus语法
async function myDisplay() { lasketaan myPromise = new Promise(function(myResolve, myReject) { myResolve("I love You !!"); }); document.getElementById("demo").innerHTML = odottaa myPromise; } myDisplay();
Odota aikakatkaisua
async function myDisplay() { lasketaan myPromise = new Promise(function(myResolve, myReject) { setTimeout(function() { myResolve("I love You !!"); }, 3000); }); document.getElementById("demo").innerHTML = odottaa myPromise; } myDisplay();
Odota tiedostoa
async function getFile() { lasketaan myPromise = new Promise(function(myResolve, myReject) { lasketaan req = new XMLHttpRequest(); req.open('GET', "mycar.html"); req.onload = function() { jos (req.status == 200) {myResolve(req.response);} muuten {myResolve("Tiedosto ei löydy");} }; req.send(); }); document.getElementById("demo").innerHTML = odottaa myPromise; } getFile();
Selaimen tuki
ECMAScript 2017 toi mukanaan JavaScript-avainsanan async
ja odottaa
.
Seuraavassa taulukossa mainitaan ensimmäiset selaimet, jotka tukevat molempia täysin:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 55 | Edge 15 | Firefox 52 | Safari 11 | Opera 42 |
Syyskuu 2016 | Huhtikuu 2017 | Maaliskuu 2017 | Syyskuu 2017 | Syyskuu 2016 |
- Edellinen sivu JS-lupaus
- Seuraava sivu DOM-esittely