Angular 角度服务代码正在延迟运行
我是个新手。学习英语。正在尝试从运行完全正常的数据库中获取数据。但我也在尝试获取返回数组的长度。问题是获取长度的代码在数组返回之前执行。因此,它显示出未定义 有人能帮我吗?这个代码有什么问题Angular 角度服务代码正在延迟运行,angular,angular6,angular-arrays,Angular,Angular6,Angular Arrays,我是个新手。学习英语。正在尝试从运行完全正常的数据库中获取数据。但我也在尝试获取返回数组的长度。问题是获取长度的代码在数组返回之前执行。因此,它显示出未定义 有人能帮我吗?这个代码有什么问题 listItems: any; constructor(private crud_data: CrudserService) { } ngOnInit() { this.crud_data.get_the_list().subscribe( res => this.listItems = res
listItems: any;
constructor(private crud_data: CrudserService) { }
ngOnInit() {
this.crud_data.get_the_list().subscribe(
res => this.listItems = res
);
this.todolist_count = this.listItems.length;
}
只要这样做:
ngOnInit(){
this.crud_data.get_the_list().subscribe(res=>{
this.listItems=res;
this.todolist_count=this.listItems.length;
});
}
在subscribe…onit中检查初始化数据调用以及每次长度计数“在数组返回之前执行”——当然是这样。当您subscribe
时,您设置了一个回调,以便在异步请求完成后执行。在此之前,列表项不可能可用。可能重复@jornsharpe,那么我如何实现这一点?我知道它在jqyeryajax中是如何工作的。我只是不知道如何处理角度。@SaEChowdary这就是我对服务所做的。ts get_the_list(){返回this.http.get(this.all_fetch_url);}我知道我必须更改订阅函数中的某些内容。但我不知道是什么。这是我和Angular在一起的第二天,我的牙套不见了。编辑。对不起,谢谢你。。。工作…会记住这一点。。。有一个艰难的时间学习它。角网站有所有的文件。我只是通过它创建了我的整个应用程序。这真的很有帮助。