Reikalavimai: Kampiniai projektai, spustelėję mygtuką puslapyje, išsiųs HTTP užklausą, nes kai kurios sąsajos užima daug laiko, turi rodyti įkėlimo animacijos efektą, kai HTTP užklausa bus baigta, įkėlimo animacija bus uždaryta.Kai užklausa sėkminga arba įvyksta klaida, turite išjungti įkėlimo animaciją。
Įprastas rašymas
Taip:
Tai yra, kai užklausa pavyksta ir įvyksta klaida, turite paskambinti artimo įkėlimo animacijai, ar yra lengvesnis būdas? Panašus į pabandyti-sugauti-pagaliau C #.
Naudokite užbaigimo operatorių
Ką jis daro, tai try-catch-finalPagaliaufunkciją, mums reikia parašyti kodą tik vieną kartą, o logika bus vykdoma nepriklausomai nuo sėkmės ar nesėkmės.
Kodas yra toks:
Kaip veikia užbaigimas? Iš esmės jis prideda atgalinio skambučio add(fn) prie stebimo objekto išmontavimo prenumeruojant. Tai garantuoja, kad jis bus iškviestas dėl klaidos, užbaigimo ir prenumeratos atsisakymo.
Atkreipkite dėmesį, kad užbaigimo operatorius vykdomas, kai tik mūsų stebimas nutraukiamas. Tai svarbu! "Angular HTTP" tai veikia labai gerai, nes "Angular HTTP" paslauga grąžina "atlikta", kai užklausa bus baigta.
(Pabaiga) |