JavaScript’te işlemler eşzamanlı (synchronous) veya eşzamansız (asynchronous) olarak çalışır.
Promise, asenkron işlemleri temsil eden bir nesnedir:
const promise = new Promise((resolve, reject) => {
setTimeout(() => {
resolve("İşlem tamamlandı!");
}, 1000);
});
promise.then(result => console.log(result)); // 1 saniye sonra "İşlem tamamlandı!"
async
Fonksiyonasync
kelimesi bir fonksiyonun otomatik olarak Promise döndürmesini sağlar.
async function selamla() {
return "Merhaba!";
}
selamla().then(msg => console.log(msg)); // "Merhaba!"
Not: async
fonksiyonu çağırdığında Promise döner, yani then
ile yakalayabiliriz veya await
kullanabiliriz.
await
Anahtar Kelimesiawait
sadece async
fonksiyonların içinde kullanılabilir.
Amacı: Promise’in çözülmesini beklemek ve sonucu almak.
function bekle(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
async function test() {
console.log("Başladı");
await bekle(2000); // 2 saniye bekle
console.log("Bitti");
}
test();
Çıktı:
Başladı
(Bekleme 2 saniye)
Bitti
await olmasaydı "Bitti" hemen yazılırdı, beklemezdi.