Учитывая этот фасад:
@Injectable()
export class LookupDataFacade
{
public saved$: Observable<boolean>;
public loaded$: Observable<boolean>;
public allLookups$: Observable<ILookup[]>;
public selectedLookup$: Observable<ILookup>;
constructor( protected store: Store<LookupDataPartialState> ) { }
loadAll()
{
this.store.dispatch( new LoadLookupData() );
}
...
}
И этот класс эффектов:
@Injectable()
export class LookupDataEffects
{
constructor(
protected actions$: Actions,
protected dataPersistence: DataPersistence<LookupDataPartialState>,
protected service: LookupDataService ) { }
@Effect()
loadLookupData$ = this.dataPersistence.fetch<LoadLookupData>( LookupDataActionTypes.Load,
{
run: ( action: LoadLookupData, state: LookupDataPartialState ) =>
{
return this.service.get().pipe( map( lookups => ( {
type: LookupDataActionTypes.Loaded,
payload: { data: lookups }
} ) ) );
},
onError: ( action: LoadLookupData, error: HttpErrorResponse ) => { this.handleError( error ); }
} );
...
handleError = function( error: HttpErrorResponse )
{
console.error( 'Error', error );
alert( error.message );
return new LookupDataError( error );
}
}
Когда страница загружается, вызывается метод loadAll фасада.Действие отправляется, но соответствующий эффект никогда не выполняется.
Этот код работал до того, как я обновил свои пакеты NgRx и Nrwl до последних версий (это нужно было сделать для разрешения Uncaught TypeError: ctorParameters.mapя не получаю фатальную ошибку функции.
Я не вижу никаких ошибок, и нет сетевого трафика, указывающего на сбой.
Кто-нибудь видит явную ошибку?