JavaScript Asenkron
- Önceki Sayfa JS Promise
- Sonraki Sayfa DOM Tanıtımı
"async and await make promises easier to write"
async Fonksiyonu Promise döndürür:
await Fonksiyonu Promise bekletir:
Async grameri
Fonksiyon önündeki anahtar kelime async
Fonksiyonu promise döndürür:
Örnek
async function myFunction() { return "Hello"; }
Eşdeğerdir:
async function myFunction() { return Promise.resolve("Hello"); }
Aşağıda Promise kullanımı gösterilir:
myFunction().then( function(value) { /* Başarılı durumundaki kod */ }, function(error) { /* Hata durumundaki kod */ } );
Örnek
async function myFunction() { return "Hello"; } myFunction().then( function(value) {myDisplayer(value);}, function(error) {myDisplayer(error);} );
Daha basit, çünkü normal değerler bekliyorsunuz (hata olmayan normal yanıt):
Örnek
async function myFunction() { return "Hello"; } myFunction().then( function(value) {myDisplayer(value);} );
Await grameri
Fonksiyon önündeki anahtar kelime await
Fonksiyonu promise bekletir:
let value = await promise;
await
Anahtar kelimeler sadece async
Fonksiyon içinde kullanılır.
Örnek
Bu kullanımını öğrenmek için yavaş yavaş ilerleyelim.
Temel gramer
async function myDisplay() { let myPromise = new Promise(function(myResolve, myReject) { myResolve("I love You !!"); }); document.getElementById("demo").innerHTML = await myPromise; } myDisplay();
Bekleme zaman aşımı
async function myDisplay() { let myPromise = new Promise(function(myResolve, myReject) { setTimeout(function() { myResolve("I love You !!"); }, 3000); }); document.getElementById("demo").innerHTML = await myPromise; } myDisplay();
Dosya bekliyor
async function getFile() { let myPromise = new Promise(function(myResolve, myReject) { let req = new XMLHttpRequest(); req.open('GET', "mycar.html"); req.onload = function() { if (req.status == 200) {myResolve(req.response);} else {myResolve("Dosya Bulunamadı");} }; req.send(); }); document.getElementById("demo").innerHTML = await myPromise; } getFile();
Tarayıcı Desteği
ECMAScript 2017, JavaScript anahtar kelimesi getirdi async
ve await
.
Aşağıdaki tablo, her ikisini de tamamen destekleyen ilk tarayıcı sürümlerini belirtmektedir:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 55 | Edge 15 | Firefox 52 | Safari 11 | Opera 42 |
2016 Yılı 12 Ayı | 2017 Yılı 4 Ayı | 2017 Yılı 3 Ayı | 2017 Yılı 9 Ayı | 2016 Yılı 12 Ayı |
- Önceki Sayfa JS Promise
- Sonraki Sayfa DOM Tanıtımı