Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度服务代码正在延迟运行_Angular_Angular6_Angular Arrays - Fatal编程技术网

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在一起的第二天,我的牙套不见了。编辑。对不起,谢谢你。。。工作…会记住这一点。。。有一个艰难的时间学习它。角网站有所有的文件。我只是通过它创建了我的整个应用程序。这真的很有帮助。