Client-server communication can be handled directly with the XMLHttpRequest standard JavaScript object, or with the modern fetch API described in the fetch API section of Chapter 9, Decorators and Advanced ES6 Features. Anyway, Angular has its own HttpClient object that is a wrapper around the XMLHttpRequest object. Angular HttpClient has a style that is similar to one of the fetch API, but that supports both RxJS Observables and Promises to handle asynchronous operations.
This book doesn't contain an exhaustive description of RxJS Observables. This section only uses them when they are the only option. In all other cases, an approach based on Promises handled with the async/await paradigm is preferred, since it produces more readable code. A description of the TypeScript async/await features and of their advantages can be found in the Promises...