Požiadavky: Angular projekty, keď kliknú na tlačidlo na stránke, odošlú HTTP požiadavku, pretože niektoré rozhrania sú časovo náročné, musia zobraziť efekt načítavacej animácie, a keď je HTTP požiadavka dokončená, animácia načítavania sa zatvorí.Keď je požiadavka úspešná alebo nastane chyba, musíte vypnúť animáciu načítavania。
Konvenčné písanie
Takto:
To znamená, že keď požiadavka uspeje a nastane chyba, musíte zavolať animáciu zatvorenia načítavania, existuje nejaký jednoduchší spôsob? Podobne ako try-catch-finally v C#.
Použite operátor finalize
To, čo robí, je pokus a finálenakoniecfunkcie, stačí napísať kód raz a logika sa vykoná bez ohľadu na úspech alebo neúspech.
Kód je nasledovný:
Ako prebieha finalizácia? V podstate pridáva callback add(fn) k disassemblovaniu pozorovateľného objektu prostredníctvom subvpries. To zaručuje, že bude označený pri chybe, dokončení alebo odhlásení.
Všimnite si, že operátor finalize sa vykoná hneď po ukončení nášho Observable. Toto je dôležité! Pre Angular HTTP to funguje veľmi dobre, pretože služba Angular HTTP vráti "hotovo" po dokončení požiadavky.
(Koniec) |