[英]Repeated HTTP requests in Angular2
说,我在数据库中有100多个项目,确切的数目未知。 如果我提供起始项目ID和所需的项目数,我的后端API将为我提供所需的项目数。 商品ID从0开始,以1递增。
我想分批提取它们(例如每批10个项目)以在客户端进行处理。 完成一批的处理后,我要提取下一批。
在我的Angular 2
项目中使用RxJS
实现此目标的最佳方法是什么?
我想你会想看看Subject
S IN RxJS。 您可以在Angular2服务中使用其中一个来获取结果的下一页,并使用主题的.next(<value>)
API将其推送到您的UI中。 然后将公开的可观察对象公开给您将要订阅的组件(或在模板中使用异步管道),以便它们可以显示结果。
具有主题的服务可以跟踪您所处的号码,因此可以在其上使用fetchNextPage
类型的方法,可以调用该方法来获取通过主题进入用户界面的下一批结果。
所以像这样:
具有主题的可注入服务,可能是诸如fetch
和fetchNextPage
类的方法来收集数据,以及公开的results
或主题的.asObservable()
注入服务的组件,然后为该服务的results
Observable设置订阅。 在组件的ngOnInit
中调用服务的fetch
,然后在用户界面认为有必要时,在服务上调用fetchNextPage
以加载更多数据。
应该可以吧。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.