Javascript 从公共文件调用angular Observable.subscribe()
我从两个文件(即x.ts和y.ts)调用下面的函数,但从第三方工具检查时,它显示了两个文件中的重复代码。下面是我在两个文件中调用的消息服务Javascript 从公共文件调用angular Observable.subscribe(),javascript,angular,Javascript,Angular,我从两个文件(即x.ts和y.ts)调用下面的函数,但从第三方工具检查时,它显示了两个文件中的重复代码。下面是我在两个文件中调用的消息服务 this.dataSubscription = this.dataService.allmesgeObeject.subscribe(data=> { if (data) { this.x= data.x; this.y= data.y; } }); 是否有任何方法可以将subscribe函数放入一个公共文件,并将接收到的数据
this.dataSubscription = this.dataService.allmesgeObeject.subscribe(data=> {
if (data) {
this.x= data.x;
this.y= data.y;
}
});
是否有任何方法可以将subscribe函数放入一个公共文件,并将接收到的数据放入各自的文件中 您可以在服务中创建主题,然后从两个组件订阅它。这样,您只需调用一次API,两个组件都将使用最新数据进行更新
export class DataService{
public allMessages: Subject<any> = new Subject();
constructor(
private http: HttpClient
) { }
allmesgeObeject() {
return this.http.get(...).pipe(
map((result) => {
this.allMessages.next(result);
}));
}
}
现在,您可以在两个组件中订阅以前创建的主题
this.dataService.allMessages.subscribe(data=> {
if (data) {
this.x= data.x;
this.y= data.y;
}
});
this.dataService.allMessages.subscribe(data=> {
if (data) {
this.x= data.x;
this.y= data.y;
}
});