Issue
I'm trying to subscribe to an Observable and assign some data from the response, but somehow my code it's not waiting for the response. Basically the console.log(this.newIds) is runned first and is always empty because the subscribe doesn't wait for response to come from the backend. How I can force my code to wait for the response to come?
this.repository.getById(Ids).subscribe((response) => {
console.log(response);
this.newIds = response.map((id) => {
return id;
});
});
console.log(this.newIds);
Solution
If you put the code in the subscribe callback. It will execute after your receive a response from the back-end. All code you write outside this function is directly execute.
this.repository.getById(Ids).subscribe((response) => {
//Code will execute when back-end will respond
console.log(response);
this.newIds = response.map((id) => {
return id;
});
console.log(this.newIds);
});
//Code will execute immediately
See also : https://angular.io/guide/observables#creating-observables
Answered By - Pterrat
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.