说,我在数据库中有超过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
实现此目标的最佳方法是什么?
答案 0 :(得分:1)
我想你想在RxJS中研究Subject
。您可以在Angular2服务中使用一个来获取结果的下一页,并使用主题.next(<value>)
api将它们推送到您的UI。然后将公共observable公开给他们将订阅的组件(或使用模板中的异步管道),以便他们可以显示结果。
具有主题的服务可以跟踪您所处的数字,因此可以在其上设置fetchNextPage
类型的方法,可以调用该方法以获得下一批结果主题和你的用户界面。
这样的事情:
具有主题的可注入服务,可能是fetch
和fetchNextPage
之类的方法来收集数据,以及公开的results
或主题的.asObservable()
{{} 1}}
获取服务注入的组件,然后设置对服务的results
Observable的订阅。在您的fetch
组件中调用服务ngOnInit
,然后当您的用户界面认为有必要时,请在服务上调用fetchNextPage
以加载更多数据。
应该可以正常工作。