[英]Angular: Unable to create Pagination loop
我正在調用一個只列出30個結果作為響應的API。 對於多個頁面,我需要創建一個while循環來調用api並存儲每個調用的數據,直到沒有頁面為止。
我已經嘗試了幾種方法。 我有一個調用API並返回數據的服務。 在我的組件中,我試圖調用該服務,獲取數據,再次調用它,存儲更多數據等。
目前我正在使用.reduce來存儲數據並將其分成鍵/值對。
export class SectionDashboardComponent implements OnInit {
constructor(private _freshServiceService: freshServiceService) { }
private ticketCounts: number[];
private ticketResponders: string[];
keyValMap = {};
ngOnInit() {
let thisPage = 1;
this._freshServiceService.fetchTickets(thisPage).subscribe
(
data =>
{
while(data.length > 0){
thisPage += 1;
this.getTicketData(data);
}
},
err=> {
console.log(err);
if(err.status == "500"){
console.log('yes')
}
}
);
}
private getTicketData(tickets: Ticket[]): void {
this.keyValMap = tickets.reduce((x, y) => {
{x[y.responder_name] = x[y.responder_name] + 1 || 1};
return x;
}, this.keyValMap);
this.ticketResponders = Object.keys(this.keyValMap);
this.ticketCounts = Object.values(this.keyValMap);
console.log(this.ticketResponders);
console.log(this.ticketCounts);
}
}
我嘗試的所有內容都會崩潰我的應用程序,因為它無限運行並且永遠不會更新“數據”變量,或者它不會更新頁碼。 我不知道如何在while循環中包含實際的服務調用並訂閱它並在每次調用時更改它。 這可能嗎?
旁注:我意識到上面的代碼顯然不是解決方案,因為while循環不包括調用。 我不太清楚該怎么做。 任何幫助是極大的贊賞。
這是我的方法:
前幾點要提到:
腳步:
希望能幫助到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.