У меня есть угловой проект, который построен на Angular 6, и мой API - .net core 2.1.
Я реализовал разбиение на страницы.Вызов моего метода разбиения на страницы в моем .net core API с использованием почтальона работает очень хорошо.С углового конца я использую наблюдаемую.На событии ngOnInit
я вызываю функцию fetchRecords()
, и отображаются первые 10 записей.когда я нажимаю «Далее», я снова вызываю метод fetchRecords()
, передавая правильные параметры пагинации, но страница все еще сохраняет первые 10 записей, я также заметил, что в console.log () записи, поступающие из API, остаются такими жепервые 10 записей.У меня есть кнопка обновления, которая снова вызывает метод fetchRecords()
, когда я немедленно нажимаю кнопку обновления, ничего не меняется.Но если я жду около 7+ секунд, отображаются следующие 10 записей.Есть ли какое-то кэширование в моей наблюдаемой, которое удерживает ответ на запрос в течение нескольких секунд?Если да, то как мне это исправить?
/* My Fetch Requests method in my component.ts */
fetchRecords(){
let requestData:any = {
skip: (this.page * this.rowsPerPage) - this.rowsPerPage,
take: this.rowsPerPage
}
this.api.post('apiUrl/fetchRecords', requestData).subscribe(res=>{ // this is where i subscribe
console.log('results', res); // Does not change unless delayed for 10 seconds
}
error=>{
})
}
goToNextPage(){
this.page = this.page + 1;
this.fetchRecords();
}
goToPreviousPage(){
this.page = this.page - 1;
this.fetchRecords();
}
/* Post Method */
post(url, obj) : Observable<any>{
return this.http.post(`${this.baseUrl}/${url}`, obj, this.options)
.map((response: Response) => {
return response.json();
});
}