Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.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 在从服务器获取api数据之前,是否可以过滤api数据?_Angular_Typescript - Fatal编程技术网

Angular 在从服务器获取api数据之前,是否可以过滤api数据?

Angular 在从服务器获取api数据之前,是否可以过滤api数据?,angular,typescript,Angular,Typescript,我正在使用一个有大量数据的api(现在超过10k,并且每天都在增长)。我从服务器获取所有数据,然后随时间过滤(同时我使用分页在每页上呈现10个数据)。但我想它的表现不太好。是否可以在获取所有数据之前对其进行过滤?例如,我想得到的数据是在过去30天上传,当用户按下按钮得到另一个30天。 我的英语说得不太好,所以我可能犯了一些错误。我希望你能理解并帮助我 如果可以修改服务器的代码,则可以向入口点添加一些参数 (类似于url?limit=50以限制50个条目) 如果没有,则必须过滤从服务器获得的内容。

我正在使用一个有大量数据的api(现在超过10k,并且每天都在增长)。我从服务器获取所有数据,然后随时间过滤(同时我使用分页在每页上呈现10个数据)。但我想它的表现不太好。是否可以在获取所有数据之前对其进行过滤?例如,我想得到的数据是在过去30天上传,当用户按下按钮得到另一个30天。
我的英语说得不太好,所以我可能犯了一些错误。我希望你能理解并帮助我

如果可以修改服务器的代码,则可以向入口点添加一些参数 (类似于
url?limit=50
以限制50个条目)


如果没有,则必须过滤从服务器获得的内容。

您必须有权访问服务器,在发送回客户端的列表中添加一个“TAKE”子句,它告诉数据库返回前50个左右的条目

另外,您可以使用HTTP_拦截器作为中间件,在请求到达服务器之前捕获请求,或者在响应到达“订阅”之前捕获响应

了解拦截器,它是处理http请求的一种很好的推荐方法。给你

还可以阅读有关角度解析器的内容,您可以在组件的生命周期typescript部分开始之前使用这些工具来提高性能和加载数据。干得好


祝你好运

在Rest api中,您必须更新Rest api,有很多方法。。尝试学习GraphQLAPI。。。!必须在服务器端进行筛选。因此,您需要:使用api的其他方法或创建新方法来过滤数据。根据经验,您应该尽可能靠近数据所在的位置对数据进行过滤和排序。如果数据位于数据库(如sql server)中,则应在数据库服务器级别(在检索查询中)过滤数据。越走越远意味着过滤器越昂贵。这个过程的下一个终点是在Web终点的内存中进行过滤。这一步与浏览器中的客户端层相比更进一步。因此,请修改端点和服务器代码,以接受筛选参数,并尽可能靠近数据进行筛选。我知道这种方法,但如果存在其他方法,我想听听。谢谢你的回复