Middle
JavaScript'te Promise nasıl çalışır?
sobes.tech yapay zeka
AI'dan gelen yanıt
- Asenkron bir işlemin olası sonunu (veya hatasını) ve onun sonuç değerini temsil eden nesne.
- Bir promise durumları:
pending: başlangıç durumu, ne tamamlanmış ne de reddedilmiş.fulfilled: işlemin başarıyla tamamlandığını gösterir.rejected: işlemin hata ile sonuçlandığını gösterir.
pendingdurumundanfulfilledveyarejecteddurumuna geçiş yalnızca bir kez ve geri alınamaz.- Yöntemler:
.then(onFulfilled, onRejected): iki geri çağrı fonksiyonu alır. İlki (onFulfilled) başarı durumunda çağrılır, ikincisi (onRejected) hata durumunda. Her iki argüman da isteğe bağlıdır. Yeni bir promise döner..catch(onRejected):.then(null, onRejected)ifadesinin kısaltmasıdır. Hataları işlemek için kullanılır. Yeni bir promise döner..finally(onFinally): promise sonucu ne olursa olsun çağrılır (başarı veya hata). Kaynakları temizlemek için kullanışlıdır. Yeni bir promise döner.
- Promise oluşturma:
new Promise((resolve, reject) => {
// Asenkron işlem
const success = true;
if (success) {
resolve("İşlem başarılı!"); // fulfilled durumuna geçer
} else {
reject("Bir şeyler ters gitti..."); // rejected durumuna geçer
}
});
- Promise zincirleri:
.then(),.catch(),.finally()promise döner, böylece ardışık asenkron işlemler zincirlenebilir.
fetch(url)
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Hata:', error));