Skip fetch while another request is being executed

This commit is contained in:
Lorenz Hilpert
2023-10-04 15:13:57 +02:00
parent 2fa7451716
commit 70f9bb0f73

View File

@@ -1,7 +1,7 @@
import { ComponentStore, tapResponse, OnStoreInit } from '@ngrx/component-store';
import { PickupShelfState } from './pickup-shelf.state';
import { PickupShelfIOService } from '@domain/pickup-shelf';
import { delayWhen, filter, map, switchMap, take, takeUntil, tap, withLatestFrom } from 'rxjs/operators';
import { delayWhen, filter, map, skipWhile, switchMap, take, takeUntil, tap, withLatestFrom } from 'rxjs/operators';
import {
DBHOrderItemListItemDTO,
ListResponseArgsOfDBHOrderItemListItemDTO,
@@ -251,7 +251,7 @@ export class PickupShelfStore extends ComponentStore<PickupShelfState> implement
fetchMoreList = this.effect((trigger$) =>
trigger$.pipe(
// TODO: Skip if fethcing is already in progress
skipWhile(() => this.fetchingList),
tap(this.beforeFetchMoreList),
withLatestFrom(this.filter$, this.list$),
switchMap(([_, filter, list]) => {