Многократная подписка наблюдаемой иногда не работает - PullRequest
0 голосов
/ 13 декабря 2018

Я создал observable, что я subscribing каждый раз на button click событии.

import {Component} from '@angular/core';
import {MainService} from '..\services\main-service';
@component({
 selector:'app-main',
 style:'',
 template:'<div> <button click="processing()">Processing</button></div>'   
})

exports class AppMain{

 constructor(private mainService: MainService){
}

processing(){
  this.mainService.process$.subscribe((res)=>{
    // doing something here ..
  }); 
}
}

MainService

import {OnInit} from '@angular\core'; 
import {Observable} from 'rxjs\Observable'; 
export class MainService implements OnInit{
   public process$;
   constructor(){
     this.process$ = new Observable((observer)=>{
         // doing something here
         observer.next();
     });
  }
}

Теперь, когда я нажимаю несколько раз на эту кнопку, иногда эта наблюдаемая функциональность иногда запускается не так.

Должен ли я отписаться от этой наблюдаемой послекаждый subsciption или должен сделать что-то еще

1 Ответ

0 голосов
/ 17 декабря 2018

Это решение, которое работает для меня.Я перехожу по этой ссылке , это мне помогает.

Следующим будет решение этой проблемы.

processing(){
  const processUnsubscribe$;
  processUnsubscribe$ = this.mainService.process$.subscribe((res)=>{
  // doing something here ..

  //Now unsubscribe here if you subscribe this multiple times.
   processUnsubscribe$.unsubscribe();   
  });   
 }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...