CodeBlanks Logo Icon CodeBlanks

finally ile temizlik

JavaScript kursu · Orta seviye · Ders 75/134

finally ile başarı veya hata ne olursa olsun çalışması gereken temizliği öğrenirsin.

finally ile temizlik

finally, promise yerleştiğinde (başarılı veya başarısız) her zaman çalışır. Bir parametre almaz; çünkü gelen değeri göremez. Yalnızca temizlik işleri için kullanılır: yükleniyor göstergesini gizleme, dosyayı kapatma gibi.

loadOrder()
  .then(order => console.log(order))
  .catch(error => console.log(error))
  .finally(() => hideSpinner());

finally, zinciri kırmaz; dönen değer bir sonraki adıma geçer. Bu yüzden son adım olarak eklenir.

finally ne zaman kullanılır?

finally en sık iki durumda kullanılır. Birincisi, bir işlem başlasın veya başarısız olsun, yükleniyor göstergesini gizlemek. İkincisi, ağ isteği bittikten sonra duruma göre arayüzü eski haline getirmek.

showSpinner();
loadOrder()
  .finally(() => hideSpinner());

Önemli olan nokta: finally hata yakalamaz, yalnızca yan etkileri temizler. Hata yönetimi catch'e, temizlik finally'e aittir.

Uygulama then, catch ve finally zinciri

fetchReport bir promise döndürür. fetchReport'u çağır ve zincir kur: then ile raporu console.log ile yazdır; catch ile hatayı console.log ile yazdır; finally ile hideSpinner'ı çağır.

Örnek çözümü göster
fetchReport()
  .then(report => console.log(report))
  .catch(error => console.log(error))
  .finally(() => hideSpinner());

Kendini test et

  1. finally çağrısına parametre olarak ne geçirilir?

    • Parametre almaz
    • Çözülen değer
    • Reddetme nedeni
    • Promise nesnesi
    Cevabı göster

    Parametre almaz — Doğru! finally parametre almaz; yalnızca temizlik yapar.

  2. Zincire finally ekle

    loadOrder()
      .then(order => console.log(order))
      .____(() => hideSpinner());
    Cevabı göster
    loadOrder()
      .then(order => console.log(order))
      .finally(() => hideSpinner());
  3. Üç metodu eşleştir

    then
    Başarı durumunu işler
    catch
    Hata durumunu işler
    finally
    Her iki durumda çalışır

Orta seviye bölümündeki tüm dersler