我必须在我的component.ts中的ngOnInit()上订阅两次,但看来您只能订阅一次。第二个订阅将被忽略。
我该如何解决?
我对其进行了测试并更改了功能,并且总是第一个订阅有效,而第二个订阅却被忽略。
这只是一个伪代码,因此不要奇怪,因为命名很奇怪。
//service.service.ts
getUser(id: string){
return this.http.get(this.url)
}
getOrder(){
return this.http.get(this.anotherUrl)
}
//component.ts
constructor(private service: Service){}
public user: object;
public order: object;
public userID: string;
ngOnInit(){
this.userID = this.route.snapshot.params['id'];
this.service.getUser(this.userID).subscribe(user => { this.user = user });
this.service.getOrder().subscribe(order => { this.order = order });
}
这不起作用。只有第一个订阅有效,第二个将被忽略。
我该怎么办?怎么会这样?
谢谢
答案 0 :(得分:0)
不清楚您要问什么,示例代码并没有真正帮助。
Subscribe接受错误处理回调作为第二个参数。 由于这似乎是API问题,因此您可以捕获如下错误:
getData() {
this.http.get(this.url).subscribe((result) => {
this.data = result;
console.log(this.data);
},
(errror: HttpErrorResponse) = > {
// Error handling here
console.log(errror);
});
}
除此之外,可以在ngOnInit中订阅多个可观察对象。