【发布时间】:2021-05-17 15:46:48
【问题描述】:
假设有一个服务将用于 http 请求调用。两个不同的组件(可能超过两个)将通过该服务使用相同的 observables 发送相同的请求。在获得应该分配给的结果后全局变量(组件没有父子或子父的关系)。下面我为所有组件编写了相同的代码块。有没有更好的方法来编写这个函数并通过返回相同的值来调用?
服务
getStudents() {
const requestUrl = this.apiUrl + 'students/';
return this.httpClient.get(requestUrl);
}
组件1
studentList:Student[]=[];
getStudents.subscribe((students:Student[])=>{
this.studentList=students;
//Some operations
})
组件2
studentList:Student[]=[];
getStudents.subscribe((students:Student[])=>{
//Some operations
this.studentList=students;
})
【问题讨论】:
-
您可以将您传递给
.subscribe()的匿名函数重构为一个命名函数,然后简单地传递函数的名称。
标签: javascript angular typescript rxjs