Angular RX JS Остановка рабочего интервала из другого метода - PullRequest
0 голосов
/ 23 марта 2020

Прямо сейчас у меня есть метод, который запускается и интервал.

Вот код:

interval: number = 5000;

start() {
    const myNumber = interval(this.interval);
    myNumber.subscribe(
      (number: number) => {
        console.log(number);
      }
    );
}

Я хочу добавить другой метод, который остановит этот интервал:

stop() {
    // stop the myNumber interval
}

Как я могу это сделать?

1 Ответ

0 голосов
/ 23 марта 2020

Вы можете использовать subject или обернуть subject в function и использовать takeUntil для остановки

interval: number = 5000;
stop=new Subject();
start() {
    const myNumber = interval(this.interval).pipe(takeUntil(this.stop);
}

//stop the interval
stop.next(true)
...