This is just a little warning for all developers using forkJoin
, not a post about how to use it.
If you are looking for a coding example explaining how to use forkJoin
read How To Use ForkJoin - Angular Example (free article).
Deprecation warning
In many examples, you will see syntax like the following.
forkJoin(
of(1, 2),
of(A, B),
)
The code will work but the problem is that the syntax is deprecated and won't work in RxJS v8.
As reported in the documentation, passing Observables directly as parameters is deprecated. This is called rest-parameter signature and it will be removed in RxJS v8.
RxJS suggests passing an array of sources, as below.
const sources = [of(1, 2), of(A, B)]
forkJoin(sources)
You can find a more realistic example in How To Use ForkJoin - Angular Example (free article), but here is a preview:
this.http.get('https://.../users/1'),
this.http.get('https://.../users/2'),
this.http.get('https://.../users/3'),
];
constructor(private http: HttpClient) {}
ngOnInit() {
forkJoin(this.sources).subscribe(console.log);
}
and a link to StackBlitz.
Good To Know
If you work with RxJS and you don't know the RxJS Operator Decision Tree, you should check it out. It will help you find or select the best operator for your needs.