Subscribe is deprecated: Use an observer instead of an error callback

subscribe isn’t deprecated, only the variant you’re using is deprecated. In the future, subscribe will only take one argument: either the next handler (a function) or an observer object. So in your case you should use: .subscribe({ next: this.handleUpdateResponse.bind(this), error: this.handleError.bind(this) }); See these GitHub issues: https://github.com/ReactiveX/rxjs/pull/4202 https://github.com/ReactiveX/rxjs/issues/4159

In Typescript, what is the ! (exclamation mark / bang) operator when dereferencing a member?

That’s the non-null assertion operator. It is a way to tell the compiler “this expression cannot be null or undefined here, so don’t complain about the possibility of it being null or undefined.” Sometimes the type checker is unable to make that determination itself. It is explained here: A new ! post-fix expression operator may … Read more