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

5.9K
Vistas
Angular 11: la suscripción está en desuso: ¿Usar un observador en su lugar?

¿Mi tslint se volvió loco? Da una advertencia por cada suscripción que hice en toda la aplicación. No importa si uso una sintaxis antigua o nueva, todavía dice que la suscripción está en desuso... ¿Cómo escribir una suscripción que no quedará en desuso?

Eso es lo que estaba bien hasta hoy:

 something.subscribe((user: User) => { this.userProviderService.setUserId(user.userId); this.proceed = true; });

Probé una nueva sintaxis pero no hace ningún cambio:

 something.subscribe({ next: (user: User) => { this.userProviderService.setUserId(user.userId); this.proceed = true; }, complete: () => {}, error: () => {} });

Esto es exactamente lo que está diciendo:

(método) Observable.subscribe(siguiente?: (valor: Objeto) => vacío, error?: (error: cualquiera) => vacío, completo?: () => vacío): Suscripción (+4 sobrecargas) @obsoleto — Use un observador en lugar de una devolución de llamada completa

@deprecated: use un observador en lugar de una devolución de llamada de error

@deprecated: use un observador en lugar de una devolución de llamada completa

subscribe está obsoleto: use un observador en lugar de una devolución de llamada completa (obsoleta) tslint (1)

Entonces, ¿cómo me suscribo a las cosas ahora?

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

0

Para responder a su pregunta "Entonces, ¿cómo me suscribo a las cosas ahora?": https://rxjs-dev.firebaseapp.com/guide/observer Esto es todo. Es fácil de usar y bastante similar a lo que se ha hecho antes con el pequeño cambio de que ahora acepta un objeto (observador) con 3 claves: siguiente, error, completo.

Tuvimos la misma discusión hace 2 días en el trabajo y, aunque puede/debe usar el observador, la desaprobación parece ser una falsa alarma. (Pensamos que teníamos que cambiar ~900 suscripciones):

Este es un problema creado en la página de github de rxjs con respecto a este problema: https://github.com/ReactiveX/rxjs/issues/6060

Y en él, los desarrolladores dicen que se debe a un error mecanografiado: https://github.com/microsoft/TypeScript/issues/43053

Este error ya se solucionó hace 3 días, aunque no estoy seguro de si ya está en la versión más reciente:

https://github.com/microsoft/TypeScript/pull/43165

over 4 years ago · Santiago Trujillo Denunciar

0

Acabo de buscar TSLint (v1.3.3) en la pestaña de extensiones de VS Code. Dice:

❗IMPORTANTE: TSLint ha quedado obsoleto en favor de ESLint.

Cuando deshabilité TSLint e instalé ESLint, todas las advertencias relacionadas con las suscripciones desaparecieron.

¡Salud!

over 4 years ago · Santiago Trujillo Denunciar

0

Tuve el mismo problema y lo resolví usando de esa manera que es más claro.

 .subscribe({ complete: () => { ... }, error: () => { ... }, next: () => { ... } });

Estaba experimentando esto en Angular v13 y lo resolví usando el código anterior.

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