Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

258
Vistas
desmontaje de la suscripción angular rxjs

Existen diferentes patrones para eliminar suscripciones en componentes angulares. He estado usando el patrón Subject / takeUntil , de esta forma:

 export class FooComponent implements OnDestroy { private destroy$ = new Subject<void>(); ... source$.pipe(takeUntil(this.destroy$)).subscribe(...); ... ngOnDestroy() { this.destroy$.next(); } }

Hoy me han dicho que agregue otra línea a ngOnDestroy :

 this.destroy$.complete();

Después de investigar un poco, aparece en algunos ejemplos en línea y no en otros, pero de cualquier manera no veo el punto. Mirando el código fuente de Subject.complete , recorrerá los observadores internos y los completará. Asumiendo que no nos suscribimos directamente al tema destroy$ , ¿no se supone que esta lista de observadores internos siempre debe permanecer vacía? Si ese es el caso, ¿no es redundante esa llamada a this.destroy$.complete() ?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

No necesita llamar a complete() si está usando destroy$ solo para los operadores takeUntil() .

Cuando destroy$ emita el next takeUntil() completará la cadena que también cancelará la suscripción de destroy$ y, por lo tanto, no habrá suscriptores, por lo que complete() no debería ser necesario.

Por cierto, también he visto personas que usan complete() en esta situación. No puedo encontrar ningún ejemplo en este momento, pero en contraste ngrx/component-store solo está llamando a next() .

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda