我必須對我的休息服務進行Http post調用,它會一次拉出大量數據。當我現在打電話時,頁面會凍結約1.5秒,並顯示頁面上的所有數據,並且可以滾動。但是直到數據全部返回,瀏覽器沒有響應。如何優化我的Angular Http Post?
有什麼辦法可以防止這種情況發生?有什麼方法可以在獲取數據時開始渲染頁面,而不必等待所有數據回來?
這是我對我的服務的電話。
getListItems(topicType: string, topicStatus?: number) {
const headers = new Headers({'Content-Type': 'application/x-www-form-urlencoded'}),
options = new RequestOptions({ headers: headers});
let body = 'jwt=' + this.tempToken + '&type=' + topicType;
if(topicStatus !== undefined) {
body += '&status=' + topicStatus;
}
return this.http.post(this.baseUrl + 'read/topicslist', body, options).map((res) => res.json());
}
而在我的組件上,我將結果集存儲在用於在模板上顯示的對象上。
你可以使用相當於[無限滾動](https://github.com/metafizzy/infinite-scroll)(*有其他人*)。在每個頁面的末尾(滾動停止處),您將獲得另一塊數據。這與您在滾動Feed時Facebook的工作方式類似。 – Igor