我正在开发一个必须调用很多不同WS的ap。 WS响应将在几个地方使用。 问题是我开始在各处获得大量的subscribe()。
服务的一个例子:
public getAllNotifications(): Observable<Notification[]> {
return this.http.get(config.ws_url + `/api/user/notification/all`)
.map((res: Response) => {
return res.json();
})
.map((json) => {
return plainToClass(Notification, json);
}).share();
}
然后,每次我想使用此通知列表时,我都必须订阅()。
我的通知组件是:
constructor(private notifService: NotificationService) {
super();
this.notifService.getAllNotifications().subscribe(notif => {
this.notifications = notif;
});
}
ngOnInit() {
}
private deleteNotif(notif: Notification): void {
this.notifService.deleteNotification(notif.getId()).subscribe(json => {
if (json.status === 200) {
this.notifications.splice(this.notifications.findIndex(curNotif => curNotif.getId() === notif.getId()), 1);
}
});
}
我认为这是一个问题,因为我认为我不应该订阅这么多,但是看不到这种方式。 有什么想法或链接可以解释使用它的好方法吗? THX