Gereksinimler: Angular projeleri, bir sayfadaki bir düğmeye tıkladığında HTTP isteği gönderir, çünkü bazı arayüzler zaman alıcıdır, yükleme animasyon efektini göstermek gerekir, HTTP isteği tamamlandığında yükleme animasyonu kapatılır.İstek başarılı olduğunda veya hata olduğunda, yükleme animasyonunu kapatmanız gerekir。
Geleneksel yazım
Şöyle:
Yani, istek başarılı olduğunda ve hata oluştuğunda, kapatma yükleme animasyonunu çağırmanız gerekiyor, daha kolay bir yolu var mı? C#'daki deneme-yakala-sonunda gibi.
Finalize operatörünü kullanın
Yaptığı şey deneme-yakalama-finalnihayetfonksiyonu varsa, kodu sadece bir kez yazmamız yeterlidir ve mantık başarı ya da başarısızlık fark etmeksizin yürütülür.
Kod şöyledir:
Finalize nasıl çalışır? Temelde, abone olarak gözlemlenebilir bir nesneyin sökülmesine geri çağrı ekleme(fn) ekliyor. Bu, hata, tamamlanma ve abonelikten çekilme çağrısı yapılacağını garanti eder.
Sonlandırma operatörünün, Observable sonlandırıldığı anda çalıştırıldığını unutmayın. Bu önemli! Angular HTTP için bu çok iyi çalışır çünkü Angular HTTP servisi istek tamamlandığında "bitti" döner.
(Son) |