Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 4135|Respuesta: 1

[Angular] El operador finalize RxJS ejecuta la lógica después de que el Observable termina

[Copiar enlace]
Publicado en 26/6/2022 18:49:57 | | |
Requisitos: Los proyectos Angular, al hacer clic en un botón en una página, envían una solicitud HTTP, porque algunas interfaces consumen mucho tiempo, necesitan mostrar el efecto de animación de carga; cuando se completa la petición HTTP, la animación de carga se cerrará.Cuando la solicitud tiene éxito o ocurre un error, necesitas desactivar la animación de carga

Escritura convencional

Como sigue:

Es decir, cuando la petición tiene éxito y ocurre un error, necesitas llamar a la animación de cierre de carga, ¿hay alguna forma más sencilla? Similar a intentar-atrapar-finalmente en Do#.

Usa el operador de finalización

Lo que hace es try-catch-finalfinalmenteFunciona, solo necesitamos escribir el código una vez, y la lógica se ejecutará independientemente de si tiene éxito o fracaso.

El código es el siguiente:



¿Cómo funciona la finalización? Básicamente añade un adito de callback (fn) al desensamblaje de un objeto observable mediante suscripción. Esto garantiza que se llamará por error, completación y cancelación de suscripción.

Obsérvese que el operador de finalización se ejecuta tan pronto como se termina nuestro Observable. ¡Esto es importante! Para Angular HTTP, esto funciona muy bien porque el servicio HTTP de Angular devuelve "listo" una vez que la petición está completa.

(Fin)




Anterior:Fiddler retardó el tiempo de respuesta de la interfaz y la prueba de red débil
Próximo:Extrae todo el texto de un archivo PDF usando C# (soporta .NET Core)
 Propietario| Publicado en 18/9/2022 16:05:18 |
Suscripción al tema de Angular RxJS
https://www.itsvse.com/thread-9209-1-1.html
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com