Zahteve: Angular projekti ob kliku na gumb na strani pošljejo HTTP zahtevek, ker so nekateri vmesniki zamudni, morajo prikazati učinek animacije nalaganja, ko je HTTP zahtevek zaključen, se animacija nalaganja zapre.Ko je zahteva uspešna ali pride do napake, morate izklopiti animacijo nalaganja。
Konvencionalno pisanje
Kot sledi:
Torej, ko zahteva uspe in pride do napake, morate poklicati animacijo zaključnega nalaganja, ali obstaja lažji način? Podobno kot poskusi ujeti-na koncu v C#.
Uporabite operator finalize
Kar naredi, je poskus v finalukončnofunkcijo, kodo moramo napisati le enkrat, logika pa se izvede ne glede na uspeh ali neuspeh.
Koda je naslednja:
Kako poteka finalizacija? V bistvu doda povratni dodatek (fn) k razčlenitvi opazljivega objekta s subscribingom. To zagotavlja, da bo postopek prijavljen zaradi napake, dokončanja in odjave.
Upoštevajte, da se operator finalizacije izvede takoj, ko je naš Observable zaključen. To je pomembno! Za Angular HTTP to deluje zelo dobro, ker storitev Angular HTTP po zaključku zahteve vrne "opravljeno".
(Konec) |