вы можете сохранить в эффектах, и это может помочь решить вашу проблему.
@Injectable()
export class AuthActivationSelfEffects {
public readonly scheduler$: Observable<Action> = createEffect(() =>
this.actions$.pipe(
switchMap(() => this.store.select(getTime)),
skipWhile(time => time > 0),
switchMap(() => [
action1,
action2,
action3,
]),
),
);
constructor(protected readonly store: Store) {}
}
Правильный путь - иметь начальное действие и конечное действие, которые запускаются где-то из контроллеров. Поскольку эффекты предназначены для побочных эффектов, а не для планирования.
это будет выглядеть так:
.pipe(
ofType(startAction),
delay(5000), // time to wait
takeUntil(this.actions$.pipe(ofType(endAction))), // cancel
switchMap(() => [action1, action2, action3]), // actions to dispatch if it wasn't canceled.
);