Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

6.1K
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda