Создает ли вызов Observable.Subscribe несколько раз несколько подписок?
Привет в моем Component
я использую Service
метод, который в свою очередь возвращает observable
, Что я хочу знать, если я позвоню Subscribe
несколько раз в компоненте это создаст несколько подписок и, таким образом, со временем сломает приложение?
Метод обслуживания
getClients():Observable<User[]>{
let route=UserService.baseUrl+"/users";
var data= this.http.get(route)
.map(resp=>resp)
.catch(error=>{console.log(error);return Observable.throw(JSON.stringify(error));}) as Observable<User[]>;
return data;
Составная часть
export class IndexComponent {
private canPress:boolean;
public enableButtons: boolean;
public users: Array<User>;
constructor(private userservice:UserService,private router:Router) {
}
private getUsers(){
console.log("Entered init");
this.userservice.getClients().subscribe(data=>{
this.users=data;
this.canPress=this.users.length>0;
},error=>{
console.log("From Index: Could not obtain users");
this.users=UserService.users;
console.log(this.users);
});
}
ngOnInit(): void {
this.getUsers();
}
}
Если по моему HTML
я прикрепляю getUsers
метод к click
событие... я буду порождать новые подписки?
1 ответ
Решение
Подписка внутри getUsers() разрешается, когда http-вызов UserService.getClients генерирует событие или ошибку. Пожалуйста, не паникуйте и продолжайте.