Angular 6 / RxJS Как отписаться, используя takeUntil () и параметры маршрута - PullRequest
0 голосов
/ 03 апреля 2019

Мне нужно сделать что-то слишком сложное. Я пытаюсь отписаться от Subscription, используя takeUntil, и жду, пока параметры маршрута выдают изменение.

Вот сложная часть: мне нужно установить takeUntil внутри параметров маршрута subscribe. Это должно быть примерно так:

ngOnInit(): void {
    this.route.params.subscribe(params => {
        this.autoMethodSubscription = interval(5000).pipe(takeUntil(this.route.params)).subscribe(() => { this.autoMethod(); });
    });
}

autoMethodSubscription не работает, потому что это insta отписывается, я думаю. Есть идеи?

1 Ответ

0 голосов
/ 03 апреля 2019

Вы можете skip первый.

interval(5000).pipe(
   takeUntil(
      this.route.params
         .pipe(skip(1))
)).subscribe(() => //... 

Или вы можете filter route.params изменить, чтобы указать , какие изменения маршрута приведут к отмене подписки.

Или вы можете использовать самый распространенный шаблон, отписаться на уничтожение.

Какова ваша цель?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...