Используя Ngrx store, у меня есть 2 следующих эффекта:
@Effect({ dispatch: false })
toastSuccess$ = this.actions$
.pipe(
ofType(TOAST_SUCCESS),
map((action: any) => this.toastr.success(action.payload, 'Success'))
);
@Effect()
appContextChanged$ = this.actions$
.pipe(
ofType(UPDATE_USER_APP_CONTEXT_SUCCESS),
mergeMap(() => of(
{ type: TOAST_SUCCESS, payload: 'App context updated successfully!' })),
tap(() => location.reload()),
catchError(() => of({ type: UPDATE_USER_APP_CONTEXT_FAILED }))
)
Что я хотел бы сделать, так это отложить tap
location.reload()
на 1000 мс (поэтому тост показывается на секунду, а затем страница обновляется), но я пытался использовать delay
везде без успех. Как я могу отложить обновление страницы, т.е. location.reload()
после эффекта тоста?