Angular2中重复的HTTP请求

时间:2017-02-05 13:22:37

标签: angular rxjs

说,我在数据库中有超过100个项目,并且确切的数字未知。如果我提供开始项目ID和所需项目数,我的后端API将为我提供所需数量的项目。物料ID从0开始并增加1。

我想逐批获取它们(例如每批10个项目)以在客户端进行处理。完成一批处理后,我想获取下一批。

$ ldapsearch -h myldap -x -b "ou=profile,o=cadence.com" "cn=*" preferredserverlist -LLL | awk '/preferredserverlist: / {print $2}' | head -2 123.18.8.15 123.18.8.16 $ ldapsearch -h myldap -x -b "ou=profile,o=cadence.com" "cn=*" defaultserverlist -LLL | awk '/defaultserverlist: / { print $2 }' | head -2 123.18.8.16 10.218.88.38 项目中使用RxJS实现此目标的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

我想你想在RxJS中研究Subject。您可以在Angular2服务中使用一个来获取结果的下一页,并使用主题.next(<value>) api将它们推送到您的UI。然后将公共observable公开给他们将订阅的组件(或使用模板中的异步管道),以便他们可以显示结果。

具有主题的服务可以跟踪您所处的数字,因此可以在其上设置fetchNextPage类型的方法,可以调用该方法以获得下一批结果主题和你的用户界面。

这样的事情:

具有主题的可注入服务,可能是fetchfetchNextPage之类的方法来收集数据,以及公开的results或主题的.asObservable() {{} 1}}

获取服务注入的组件,然后设置对服务的results Observable的订阅。在您的fetch组件中调用服务ngOnInit,然后当您的用户界面认为有必要时,请在服务上调用fetchNextPage以加载更多数据。

应该可以正常工作。