90252: Fix invalidateByHref not emitting

This commit is contained in:
Yura Bondarenko
2022-04-20 13:21:37 +02:00
parent be488c04bb
commit a041368019

View File

@@ -600,16 +600,13 @@ export abstract class DataService<T extends CacheableObject> implements UpdateDa
const done$ = new AsyncSubject<boolean>(); const done$ = new AsyncSubject<boolean>();
this.objectCache.getByHref(href).pipe( this.objectCache.getByHref(href).pipe(
switchMap((oce: ObjectCacheEntry) => observableFrom(oce.requestUUIDs)), switchMap((oce: ObjectCacheEntry) => observableFrom(oce.requestUUIDs).pipe(
mergeMap((requestUUID: string) => this.requestService.setStaleByUUID(requestUUID)), mergeMap((requestUUID: string) => this.requestService.setStaleByUUID(requestUUID)),
toArray(), toArray(),
map((areRequestsStale: boolean[]) => areRequestsStale.every(Boolean)), )),
distinctUntilChanged(), ).subscribe(() => {
).subscribe((done: boolean) => {
if (done) {
done$.next(true); done$.next(true);
done$.complete(); done$.complete();
}
}); });
return done$; return done$;
@@ -667,11 +664,9 @@ export abstract class DataService<T extends CacheableObject> implements UpdateDa
return [true]; return [true];
} }
}) })
).subscribe((invalidated: boolean) => { ).subscribe(() => {
if (invalidated) {
invalidated$.next(true); invalidated$.next(true);
invalidated$.complete(); invalidated$.complete();
}
}); });
return combineLatest([response$, invalidated$]).pipe( return combineLatest([response$, invalidated$]).pipe(