In Angular, forkJoin is used to combine multiple HTTP requests and return the responses only when all requests are completed. It is useful when:
You need to make multiple API calls in parallel.
You need to aggregate the responses after all requests finish.
You don’t need intermediate results (as forkJoin waits for all observables to complete).
Implementation of forkJoin for multiple API responses
import { forkJoin } from 'rxjs';
import { HttpClient } from '@angular/common/http';
constructor(private http: HttpClient) {}
fetchData() {
const userDetails$ = this.http.get('https://api.example.com/user/1');
const userPosts$ = this.http.get('https://api.example.com/user/1/posts');
const userComments$ = this.http.get('https://api.example.com/user/1/comments');
forkJoin({
user: userDetails$,
posts: userPosts$,
comments: userComments$
}).subscribe(results => {
console.log('User:', results.user);
console.log('Posts:', results.posts);
console.log('Comments:', results.comments);
});
}