Создает ли вызов Observable.Subscribe несколько раз несколько подписок? - PullRequest
0 голосов
/ 09 ноября 2018

Здравствуйте, в моем 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 Ответ

0 голосов
/ 09 ноября 2018

Подписка внутри getUsers () разрешается, когда HTTP-вызов UserService.getClients генерирует событие или ошибку. Пожалуйста, не паникуйте и продолжайте.

...