From b58defc0f319e09d80fd0acd991a29cca95b84db Mon Sep 17 00:00:00 2001 From: Giuseppe Digilio Date: Mon, 7 Sep 2020 09:26:02 +0200 Subject: [PATCH] Revert "Fixed issue that emits successful remote data twice with undefined payload in the first one" This reverts commit 99c0f6ce --- .../core/cache/builders/remote-data-build.service.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/app/core/cache/builders/remote-data-build.service.ts b/src/app/core/cache/builders/remote-data-build.service.ts index 23743f6999..83cecca502 100644 --- a/src/app/core/cache/builders/remote-data-build.service.ts +++ b/src/app/core/cache/builders/remote-data-build.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@angular/core'; import { combineLatest as observableCombineLatest, Observable, of as observableOf, race as observableRace } from 'rxjs'; import { distinctUntilChanged, map, startWith, switchMap } from 'rxjs/operators'; -import { hasValue, isEmpty, isNotEmpty, isNotUndefined } from '../../../shared/empty.util'; +import { hasValue, hasValueOperator, isEmpty, isNotEmpty, isNotUndefined } from '../../../shared/empty.util'; import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; import { FollowLinkConfig } from '../../../shared/utils/follow-link-config.model'; import { PaginatedList } from '../../data/paginated-list'; @@ -68,7 +68,11 @@ export class RemoteDataBuildService { return fromResponse; } }), - map((obj: T) => hasValue(obj) ? this.linkService.resolveLinks(obj, ...linksToFollow) : undefined), + hasValueOperator(), + map((obj: T) => + this.linkService.resolveLinks(obj, ...linksToFollow) + ), + startWith(undefined), distinctUntilChanged() ); return this.toRemoteDataObservable(requestEntry$, payload$); @@ -84,7 +88,7 @@ export class RemoteDataBuildService { const response = reqEntry ? reqEntry.response : undefined; if (hasValue(response)) { isSuccessful = response.statusCode === 204 || - response.statusCode >= 200 && response.statusCode < 300 && (hasValue(payload) || responsePending); + response.statusCode >= 200 && response.statusCode < 300 && hasValue(payload); const errorMessage = isSuccessful === false ? (response as ErrorResponse).errorMessage : undefined; if (hasValue(errorMessage)) { error = new RemoteDataError(