Understanding RxJS in Our Application
Let’s use our newfound knowledge of RxJS to understand what's going on in our cocktails application.
We'll cover the following
Let’s look at our cocktails application again. In the cocktail.service.ts
, we’re using the http.get()
method to request some data.
this.http.get('https://www.thecocktaildb.com/api/json/v1/1/search.php', {
params: {
s: query,
}
});
The http.get()
method will return an observable. It will emit the values retrieved by the API request. In the app.component.ts
component class file, we’re using the observable by creating an observer with the subscribe()
method.
this.cocktail.search(query).subscribe((response: any) => {
this.drinks = response.drinks;
});
This is how observables are used in action. In our services, we can create observables that can emit data. We can create observers in our components where we’ll need the data.
Improving the request
We can improve how we create requests in our services using pipes and operators. We know that the response from the API will return an object with a property called drinks
. This will represent an array of results based on the query.
Rather than returning the complete response, we’ll return the drinks
arrays. This way, components don’t need to deal with anything else that might be returned.
In the cocktail.service.ts
file, we’ll update the service to the following:
Get hands-on with 1200+ tech skills courses.