Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 4135|Antwort: 1

[Kantig] Der RxJS-Finalize-Operator führt die Logik aus, nachdem die Observable beendet ist

[Link kopieren]
Veröffentlicht am 26.06.2022 18:49:57 | | |
Anforderungen: Angular-Projekte senden beim Klicken auf einen Button auf einer Seite eine HTTP-Anfrage, da einige Schnittstellen zeitaufwendig sind und den Ladeanimationseffekt anzeigen müssen; wenn die HTTP-Anfrage abgeschlossen ist, wird die Ladeanimation geschlossen.Wenn die Anfrage erfolgreich ist oder ein Fehler auftritt, musst du die Ladeanimation ausschalten

Konventionelles Schreiben

Folgendermaßen:

Das heißt, wenn die Anfrage erfolgreich ist und ein Fehler auftritt, muss man die Close-Loading-Animation aufrufen – gibt es einen einfacheren Weg? Ähnlich wie try-catch-finally in C#.

Verwenden Sie den Finalize-Operator

Was es macht, ist Versuch-Fang-FinaleendlichFunktion, müssen wir den Code nur einmal schreiben, und die Logik wird unabhängig von Erfolg oder Misserfolg ausgeführt.

Der Code lautet wie folgt:



Wie funktioniert die Finalisierung? Im Grunde fügt es durch Abonnement eine Callback-Add(fn) zur Demontage eines observierbaren Objekts hinzu. Dies garantiert, dass es bei Fehler, Abschluss und Abmeldung aufgerufen wird.

Beachten Sie, dass der Finalize-Operator ausgeführt wird, sobald unser Observable beendet ist. Das ist wichtig! Für Angular HTTP funktioniert das sehr gut, weil der Angular-HTTP-Dienst nach Abschluss der Anfrage "erledigt" zurückgibt.

(Ende)




Vorhergehend:Fiddler verzögerte Schnittstellenantwortzeit und schwaches Netzwerk
Nächster:Extrahiere den gesamten Text aus einer PDF-Datei mit C# (unterstützt .NET Core)
 Vermieter| Veröffentlicht am 18.09.2022 16:05:18 |
Themenabonnement für Angular RxJS
https://www.itsvse.com/thread-9209-1-1.html
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com