Первая проблема: необработанное отклонение Ошибка [ERR_HTTP_HEADERS_SENT]: Невозможно установить заголовки после того, как они отправлены клиенту
Вторая проблема до этого состояла в том, что служба отправила запрос бэкэнду с помощью (размер страницы и смещение) параметры, но сервер не отправил обратно никаких данных ..
Компонент:
ngOnInit() {
// this.getAllEventLogs(this.eventlogs);
this.sourceLoggercontrol.getAllEventLogs(this.pageSize, this.pageIndex)
.subscribe(response => {
this.eventlogs = response.eventlogs;
this.totalItemsCount = response.totalItemsCount;
});
console.log(this.eventlogs)
}
onPage(pageEvent: PageEvent): void {
this.pageSize = pageEvent.pageSize,
this.pageIndex = pageEvent.pageIndex;
this.sourceLoggercontrol.getAllEventLogs(this.pageSize, this.pageIndex)
.subscribe(response => {
this.eventlogs = response.eventlogs;
this.totalItemsCount = response.totalItemsCount;
});
}
СЕРВИС:
getAllEventLogs(
pageSize: number,
pageIndex: number
): Observable<{ eventlogs: Eventlog[], totalItemsCount: number }> {
const params = {
pageSize,
pageIndex
}
return this.http.get(BASE_URL + 'eventlogs', { params })
.map(res => res.json());
}
HTML:
<mat-paginator #paginator [length]="totalItemsCount" [pageIndex]="pageIndex" [pageSize]="pageSize"
[pageSizeOptions]="[5, 10, 15]" (page)="onPage($event)">
</mat-paginator>
</mat-accordion>
НАЗАД:
function getAllEventlog(req, res, next) {
const pageSize = req.query.pageSize;
const pageIndex = req.query.pageIndex;
const offset = pageSize * pageIndex;
const limit = pageSize;
db.any('SELECT * FROM event_log LIMIT $1 OFFSET $2', [limit, offset])
.then(function (eventlogs) {
return db.one('SELECT COUNT(*) FROM event_log').then(countResult => {
res.status(200)
.json({
eventlogs,
totalItemsCount: countResult.count,
});
console.log(req.body)
})
})
console.log(eventlogs)
.catch(function (err) {
return next(err);
});
}