Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 4135|Antwoord: 1

[Angular] De RxJS finalize-operator voert de logica uit nadat de Observable is beëindigd

[Link kopiëren]
Geplaatst op 26-06-2022 18:49:57 | | |
Vereisten: Angular-projecten sturen bij het klikken op een knop op een pagina een HTTP-verzoek, omdat sommige interfaces tijdrovend zijn en het laadanimatie-effect moeten tonen; wanneer het HTTP-verzoek is voltooid, wordt de laadanimatie gesloten.Wanneer het verzoek succesvol is of er een fout optreedt, moet je de laadanimatie uitschakelen

Conventioneel schrijven

Als volgt:

Dat wil zeggen, wanneer het verzoek succesvol is en er een fout optreedt, moet je de sluitingslaadanimatie aanroepen, is er een makkelijkere manier? Vergelijkbaar met try-catch-finally in C#.

Gebruik de finalize-operator

Wat het doet is try-catch-finaleindelijkfunctie hoeven we de code maar één keer te schrijven, en de logica wordt uitgevoerd ongeacht succes of mislukking.

De code is als volgt:



Hoe werkt finaliseren? Het voegt in feite een callback-add(fn) toe aan de demontage van een observeerbaar object door zich te abonneren. Dit garandeert dat het wordt aangeroepen bij fout, voltooiing en afmelden.

Let op dat de finalize-operator wordt uitgevoerd zodra onze Observable is beëindigd. Dit is belangrijk! Voor Angular HTTP werkt dit heel goed omdat de Angular HTTP-service "klaar" teruggeeft zodra het verzoek is voltooid.

(Einde)




Vorig:Fiddler vertraagde interface-responstijd en zwakke netwerktest
Volgend:Haal alle tekst uit een PDF-bestand met C# (ondersteunt .NET Core)
 Huisbaas| Geplaatst op 18-09-2022 16:05:18 |
Onderwerpabonnement voor Angular RxJS
https://www.itsvse.com/thread-9209-1-1.html
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com