Cuando ejecuto el linter, dice:
subscribe is deprecated: Use an observer instead of an error callback
Código (de una aplicación angular 7 con angular-cli):
this.userService.updateUser(data).pipe(
tap(() => {bla bla bla})
).subscribe(
this.handleUpdateResponse.bind(this),
this.handleError.bind(this)
);
No sé exactamente qué debo usar y cómo ...
¡Gracias!

.subscribe({ next: this.handleUpdateResponse.bind(this), error: this.handleError.bind(this) })Respuestas:
subscribeno está en desuso, solo la variante que estás usando está en desuso. En el futuro,subscribesolo tomará un argumento: elnextcontrolador (una función) o un objeto observador.Entonces, en su caso, debe usar:
Vea estos problemas de GitHub:
https://github.com/ReactiveX/rxjs/pull/4202
https://github.com/ReactiveX/rxjs/issues/4159
fuente
Quizás sea interesante notar que el
observerObjeto también puede (todavía) contener elcomplete()método y otras propiedades adicionales. Ejemplo:De esta forma es mucho más fácil omitir ciertos métodos. Con la firma antigua era necesario suplir
undefinedy ceñirse al orden de los argumentos. Ahora es mucho más claro cuando, por ejemplo, solo se proporciona un controlador siguiente y completo.fuente
Puede obtener este error si tiene un objeto escrito como
Observable<T> | Observable<T2>- en lugar deObservable<T|T2>.Por ejemplo:
El compilador no hace
obsde tipoObservable<number | string>.Puede que le sorprenda que lo siguiente le dé el error
Use an observer instead of a complete callbackyExpected 2-3 arguments, but got 1.Es porque puede ser de dos tipos diferentes y el compilador no es lo suficientemente inteligente como para reconciliarlos.
Necesita cambiar su código para regresar en
Observable<number | string>lugar deObservable<number> | Observable<string>. Las sutilezas de esto variarán según lo que esté haciendo.fuente
Recibí la advertencia porque estaba pasando esto para suscribirme:
Dado que devuelve un solo valor, era incompatible con
subscribela firma de la función.Cambiar a esto hizo que la advertencia desapareciera (devuelve nulo / nulo);
fuente