Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何优化我的角度Http帖子?_Angular_Angular Http - Fatal编程技术网

Angular 如何优化我的角度Http帖子?

Angular 如何优化我的角度Http帖子?,angular,angular-http,Angular,Angular Http,我必须对我的rest服务进行Http post调用,它将立即提取大量数据。当我现在打电话时,页面冻结约1.5秒,它显示页面上的所有数据,我可以滚动。但在数据全部返回之前,浏览器不会响应 有没有办法防止这种情况?是否有一种方法可以在获取数据时开始呈现页面,而不必等待所有数据返回 这是我的服务电话 getListItems(topicType: string, topicStatus?: number) { const headers = new Headers({'Content-Type

我必须对我的rest服务进行Http post调用,它将立即提取大量数据。当我现在打电话时,页面冻结约1.5秒,它显示页面上的所有数据,我可以滚动。但在数据全部返回之前,浏览器不会响应

有没有办法防止这种情况?是否有一种方法可以在获取数据时开始呈现页面,而不必等待所有数据返回

这是我的服务电话

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());
 }

在我的组件上,我将结果集存储在用于在模板上显示的对象上。

您可以更改post以获取数据块。当您向下滚动另一篇文章以获取下一个数据块时,您可以更改该文章以获取数据块。当你向下滚动时,会发送另一篇文章来获取下一个区块,他们没有解决此类大型数据集问题的灵丹妙药。您可以采用不同的方法来缓解问题。有很多方法可以解决这个问题,但您的解决方案将取决于您如何处理数据

根据您的问题,我知道您需要显示多个用户(类似的数据集)信息,用户将滚动查看更多信息

你可以像下面这样设计

1) 在Ajax调用中添加起始和页面限制

不要获取所有记录,而是根据屏幕大小以及UI上的每条记录的宽度和高度获取数字记录。 若你们能在屏幕上显示大约10条记录,那个么页面限制为20条记录

2) 一旦用户开始滚动,您就可以使用虚拟滚动获取铰孔数据。 我在我的项目中使用虚拟卷轴,它工作得很好。
他们没有解决此类大型数据集问题的灵丹妙药。您可以采用不同的方法来缓解问题。有很多方法可以解决这个问题,但您的解决方案将取决于您如何处理数据

根据您的问题,我知道您需要显示多个用户(类似的数据集)信息,用户将滚动查看更多信息

你可以像下面这样设计

1) 在Ajax调用中添加起始和页面限制

不要获取所有记录,而是根据屏幕大小以及UI上的每条记录的宽度和高度获取数字记录。 若你们能在屏幕上显示大约10条记录,那个么页面限制为20条记录

2) 一旦用户开始滚动,您就可以使用虚拟滚动获取铰孔数据。 我在我的项目中使用虚拟卷轴,它工作得很好。

你可以使用与之相当的东西(还有其他的)。在每个页面的末尾(滚动停止的地方),您将获得另一个数据块。这类似于当你滚动浏览feed时Facebook的工作方式。你可以使用与之相当的东西(还有其他的)。在每个页面的末尾(滚动停止的地方),您将获得另一个数据块。这类似于你滚动浏览订阅源时Facebook的工作方式。我试图看看是否有其他方法可以避免这种情况(更改我的rest服务:),但看起来我可能不得不这样做)。我的返回对象有大约12000条记录,当我在数据库上运行查询时,我在1毫秒内得到结果。在我的对象上使用*ngFor时,我试图看看是否有其他方法可以避免这种情况(更改我的rest服务:),但看起来我可能不得不这样做)。我的返回对象有大约12000条记录,当我在DB上运行查询时,我会在1毫秒内得到结果