Umran
18 Eylül 2026, 08:00
Selam millet,
Bugün bir projede async/await kullanmaya çalıştım ama nedense Promises kısmını tam oturtamadım kafamda. Yani anladığım kadarıyla async/await daha temiz bir söz dizimi sunuyor ama arka planda yine Promises'ler çalışıyor gibi geliyor.
Şimdi şöyle bir örnek var aklımda:
```javascript
// Promise ile
function veriCekPromise() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve("Promise ile veri geldi!");
}, 2000);
});
}
veriCekPromise().then(veri => console.log(veri));
// Async/Await ile
async function veriCekAsyncAwait() {
try {
const veri = await new Promise((resolve, reject) => {
setTimeout(() => {
resolve("Async/Await ile veri geldi!");
}, 2000);
});
console.log(veri);
} catch (error) {
console.error("Hata oluştu:", error);
}
}
veriCekAsyncAwait();
```
Bu örnekte ikisi de aynı işi yapıyor gibi. Async/await'in "await" keyword'ü aslında promise'in resolve olmasını bekliyor, doğru mu anlıyorum? Peki ya reject durumu? Try-catch bloğuyla yakalanıyor, bu da mantıklı.
Ama asıl kafama takılan şu: Eğer `await` aslında bir promise bekliyorsa, bu ikisi arasında performans ya da işleyiş açısından fark yaratır mı? Ya da ne zaman hangisini tercih etmeliyiz?
Belki bu konuda tecrübeli arkadaşlarım daha detaylı açıklayabilirler. Hem benim gibi yeni başlayanlara da faydası olur. Şimdiden teşekkürler!
Bugün bir projede async/await kullanmaya çalıştım ama nedense Promises kısmını tam oturtamadım kafamda. Yani anladığım kadarıyla async/await daha temiz bir söz dizimi sunuyor ama arka planda yine Promises'ler çalışıyor gibi geliyor.
Şimdi şöyle bir örnek var aklımda:
```javascript
// Promise ile
function veriCekPromise() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve("Promise ile veri geldi!");
}, 2000);
});
}
veriCekPromise().then(veri => console.log(veri));
// Async/Await ile
async function veriCekAsyncAwait() {
try {
const veri = await new Promise((resolve, reject) => {
setTimeout(() => {
resolve("Async/Await ile veri geldi!");
}, 2000);
});
console.log(veri);
} catch (error) {
console.error("Hata oluştu:", error);
}
}
veriCekAsyncAwait();
```
Bu örnekte ikisi de aynı işi yapıyor gibi. Async/await'in "await" keyword'ü aslında promise'in resolve olmasını bekliyor, doğru mu anlıyorum? Peki ya reject durumu? Try-catch bloğuyla yakalanıyor, bu da mantıklı.
Ama asıl kafama takılan şu: Eğer `await` aslında bir promise bekliyorsa, bu ikisi arasında performans ya da işleyiş açısından fark yaratır mı? Ya da ne zaman hangisini tercih etmeliyiz?
Belki bu konuda tecrübeli arkadaşlarım daha detaylı açıklayabilirler. Hem benim gibi yeni başlayanlara da faydası olur. Şimdiden teşekkürler!