После переноса моего приложения с углового уровня 5 на 6 rxjs вызывал всевозможные проблемы.Я использовал rxjs-compact во время процесса миграции и после его удаления, так как это вызывает большее использование памяти.У меня остались такие ошибки.
ОШИБКА в ./node_modules/rxjs-compat/_esm5/add/operator/publishReplay.js Ошибка сборки модуля: Ошибка: ENOENT: нет такого файла или каталога, откройте '/home/training/Desktop/vishnu/TemplateAppv6/node_modules/rxjs-compat/_esm5/add/operator/publishReplay.js'
Я пытался импортировать publishReplay из операторов rxjs и rxjs.
import {filter, map, catchError, publishReplay} из 'rxjs / operator';
Но проблемы по-прежнему сохраняются, есть ли какие-либо изменения для publishReplay, такие как catchError.
Любая помощь будет оценена.
Вот полный код
import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';
import { Observable } from 'rxjs';
import { ErrorResponse } from '../core/interfaces/Error';
import { throwError, ReplaySubject } from 'rxjs';
import { filter, map, catchError, publishReplay } from 'rxjs/operators';
import 'rxjs/add/observable/forkJoin';
import { environment } from '../../environments/environment';
import { HomeConstants } from './home-consatant';
import { BaseService } from '../core/base.service';
// Construct the rail data.
responses.map((response: RailResponse) => {
railsData[response.railId] = response
.entries
.map((entry: EntriesEntity) => {
return {
imageSrc: this.getImageUrl(entry, response.railId), // Get rail image according to the rail type.
contentTypeLabel: entry.pricingType, // Content Type.
description: entry.title, // Rail title.
url: '/details/' + entry.programType + '/' +
this.utility.encodeProgramName(entry.title) + '/' + entry.id, // Rail url.
isPopoverVisible: true,
popoverTitle: entry.title,
popoverDescription: entry.title
};
});
});
return railsData;
})
.publishReplay(1, this.cacheInterval)
.refCount()
.take(1)
.catchError((res: HttpErrorResponse) => throwError(res));
this.rails.set(railParams[0].railId, this.railResponse);
}
return this.rails.get(railParams[0].railId);
}
} else {
return null;
}
} else {
return null;
}
}