cha*_*eed 3 typescript angular
我有一个服务,其方法如下:
getTotalCountries() {
this.http.get("country").subscribe((response) => {
console.log(response.json());//it is displaying all the data which is return by API
return response.json();
});
}
Run Code Online (Sandbox Code Playgroud)
以类似的方式,我在组件中具有如下功能:
public users: any
countCountry() {
this.count=this.user.getTotalCountries();
console.log(this.count) //it is not returning any data;
}
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚为什么它不返回component.ts. 有人可以帮我吗?
它没有返回任何内容,因为没有return声明。
它应该是
getTotalCountries(){
return this.http.get("country");
}
Run Code Online (Sandbox Code Playgroud)
稍后在代码中的某个地方,当您subscribe发出实际请求时
this.user.getTotalCountries().subscribe(val=>this.count=val));
Run Code Online (Sandbox Code Playgroud)
您必须意识到,在这里您必须处理异步代码,因此这是不按顺序发生的事情。
当您的subscribe应用程序继续并在后台进行实际的 http 调用时。当请求完成时,将调用回调 - 这就是您作为参数提供给 的代码subscribe。
| 归档时间: |
|
| 查看次数: |
639 次 |
| 最近记录: |