Can you please answer to question in comment
class TextComp
{
result: string;
constructor() {
this.getdata().subscribe(result => {
console.log("result received");
this.result = result;
});
console.log("called before result received " + this.result);
//this.result is NULL/UNDEFINED because this line executed before data received
// So how we can eliminate this situation??? or
// Is there any way to make synchronus call to http in angular 2
}
getdata() {
return http.get('test.json')
.map(response => response.json());
}
}
So how we can eliminate this situation??? or Is there any way to make synchronus call to http in angular 2
if you need to make synchronous calls in this case your code should be something like:
this.getdata().subscribe(result => {
console.log("result received");
this.result = result;
//function or snippet which will be called after subscribe is complete...
});
because your subscribe method works asynchronously. I recommend you also to take a look at promises .
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.