Ngrx Angular 2 앱을 만들고 시간 간격을두고 폴링을 계속하기 위해 http 호출을 받으려고했습니다. interval()
함수를 사용했지만 Ngrx의 경우 서비스 호출이 @Effect()
내부에서 수행되면 오류가 발생합니다. 제발 조언 :Ngrx Store, Effects, Http Ajax 폴링 설정 (각도 2)
@Injectable()
export class TasksEffects {
constructor(
private actions$: Actions,
private TS: TaskService
){}
@Effect()
onLoadTasksLoadTasks$: Observable<Action> = this.actions$.ofType(tasksActions.ActionTypes.LOAD_TASKS)
.switchMap(() => {
return this.TS.index()
.map((res) => new tasksActions.LoadTasksSuccessAction(res.json()))
.catch(err => of(new tasksActions.LoadTasksFailAction(err)));
});
10 초마다 switchMap 기능을 실행하고 싶습니다. 이것은 작동하지 않습니다.
@Effect()
onLoadTasksLoadTasks$: Observable<Action> = this.actions$.ofType(tasksActions.ActionTypes.LOAD_TASKS)
.switchMap(() => {
return this.TS.index()
.map((res) => new tasksActions.LoadTasksSuccessAction(res.json()))
.catch(err => of(new tasksActions.LoadTasksFailAction(err)));
}).interval(10000);
타입 오류 : rxjs 5 interval()
에서
Observable.timer를 정지 또는 취소하는 대상은 무엇입니까? 필요로하는 데이터를받은 후에도 영원히 계속되지 않을까요? –
아무것도 멈추지 않습니다. OP는 투표를 원했습니다. – cartant