Эффекты опроса Ngrx - PullRequest
0 голосов
/ 11 июня 2019

Я новичок в Ngrx, и у меня возникают проблемы при настройке опроса с эффектами Ngrx

Я попробовал упомянутый ответ Как выполнить опрос http в эффекте ngrx , но, похоже, это не работает так, как ожидалось для моего решения. У меня такое ощущение, что это может быть из-за моего заявления о возвращении

 LoadProcessesByUser$: Observable<Action> = this.actions$.pipe(
   ofType(AppActions.LoadProcessesByUser),
   switchMap(() => {
     interval(100).pipe(
       startWith(0),
       mapTo(this.actions$)
     );
     return this.apiService.getUserProcesses(this.userService.user.lanId).pipe(
       map(result => new LoadProcessesSuccess(result)),
       catchError(error => of(new LoadFailure(error)))
     );
   })
 );

Я ожидал, что этот эффект вызывается каждые 100 мс, но, как кажется, он вызывается только всякий раз, когда я отправляю LoadProcessByUser ()

делать заметки; я хочу, чтобы этот опрос выполнялся на протяжении всего срока службы приложения.

Спасибо

1 Ответ

0 голосов
/ 11 июня 2019

Вы ничего не делаете с interval, вам придется вернуть интервал и добавить сервисный вызов внутри interval s pipe.

Если вам не нужно LoadProcessesByUser Вы также можете создать поток на основе interval, например

@Effect() 
ping = interval(1000).pipe(mapTo(new Ping()));

Вы можете найти больше на Начните использовать ngrx / Effects для этого

...