Jul 19, 2019
Http subscribe vs map vs pipe in Angular
Angular is a TypeScript-based open-source web application framework led by the Angular Team at Google and by a community of individuals and corporations. Angular is a complete rewrite from the same team that built AngularJS. It’s powerful, modern, has a nice ecosystem, and it’s just cool.
When an Angular application is crafted properly, you don’t end up with a tangle of classes and methods that are hard to modify and even harder to test. The code is structured conveniently and you won’t need to spend much time in order to understand what is going on.
With Angular, you already have lots of tools to start crafting the application right away. You have directives to give HTML elements dynamic behavior.
Here are the differences between subscribe, map and pipe in Angular.
Pipes ( | ) were earlier called filters in Angular1 and named pipes in Angular 2 and 4. The | character is used to transform data. A pipe takes in data as input and transforms it into the desired output. It takes integers, strings, arrays, and date as input separated with " | " to be converted into the format as required and display the same in the browser.
Angular comes with a stock of pipes such as DatePipe, UpperCasePipe, LowerCasePipe, CurrencyPipe, and PercentPipe. They are all available for use in any template.
In Angular, Map’s job is to transform things. Map is a pretty simple operator. It takes a projection function and applies it to each value that comes from the source observable. Map wraps the projection function in an observable and starts emitting string values.
Subscribe uses when the side effect is an absolute necessity. It forces developers to make unnecessary side effects.
Developers pass the observable around, combining it, saving it to different variables with a different combination of operators but at the end, an Observable<T> is useless on its own.
Then it needs to “terminate” the observable and extract the type T out of it. That is what subscribe is used for. To subscribe to the resulting stream and terminate the observable. Subscribe is a method on the Observable type. The Observable type is a utility that asynchronously or synchronously streams data to a variety of components or services that have subscribed to the observable.