I have a piece of code which contains multiple http requests which are subscribed. Here an example of how one such subscribe function looks like:
this.http.post<any>(url, body).subscribe({
next: data => {
console.log(data);
}
});
But depending on user input they are not always used (so sometimes there are some not accessible).
After all the subscriptions are done that were neccesary, a function has to be called. Let's name that function subscribesDone()
.
How do I execute that function only after all the subscribes are done (while there are some subscribe funtions not being used, depending on the situation).
This isn't a very "proper" answer, but a way to do it until others give better answers:
make an array of booleans, one for every http call, all true. If a call is made, set its array slot to false and set it back to true when it returns. Every return, after setting the correct value to true, check if all bools are true. If all are true, do the final function