Почему в RxJS observer получается undefined?

Такая ситуация: есть стрим interval (RxJS) и функция, где я подписываюсь на стрим и через 3 секунды отписываюсь:

const interv$ = interval(100)

let intervSubscription;

const start = () => {
    intervSubscription = interv$.subscribe();
    setTimeout(() => {
      intervSubscription.unsubscribe();
    }, 3000);
  };

Всё работает корректно. Но если я хочу вынести intervSubscription.unsubscribe(); в отдельную функцию как отдельный onClick:

const interv$ = interval(100)

let intervSubscription;

const start = () => {
    intervSubscription = interv$.subscribe();
  };
const stop = () => {
    intervSubscription.unsubscribe();
  };

то выдаёт ошибку TypeError: Cannot read property 'unsubscribe' of undefined, то есть intervSubscription получается undefined. Может кто подскажет, почему так?


Ответы (0 шт):