请教一个 rxjs 问题。。。。。。

2020-02-14 23:53:34 +08:00
 weishijun14

我有一个需求,

  1. 我点击按钮,
  2. 获得数组,长度为 100
  3. 我会使用其中三个
  4. 当我再次点击按钮的时候,我希望不用重新获得,因为还有 97 个未用完。直接 97 - 3 即可。
  5. 直到 100 个全部用完,才再次发送请求获取下一个 100 个数据。

求教,,, 或者说一下关键的思路,, 我是 rxjs 新手,百思不解了。。

3684 次点击
所在节点    JavaScript
23 条回复
wly19960911
2020-02-16 08:53:11 +08:00
@weishijun14 datasource 不是指后端,单纯就是一个获取数据的库,至于背压问题我看了下,rxjs 不太好做这种重复,因为 rxjs 一开始就准备好了数据观测,除非有人手动触发了获取数据的操作。

switchMap 的 observable 也需要有 subject 来推数据进去。所以这个行为比较难以实现,不如写个库专门拿队列数据。由 rxjs 取就行了。如果不是需要重新拉取这个操作,我感觉挺好实现的...
StrayBugs
2020-02-16 15:38:04 +08:00
大家这么快给实现,然而楼主的描述不是很完整。当请求 pending 时如果按下了按键怎么算?忽略还是算多次取?多次请求返回的结果怎么处理?抛弃旧的还是一并连起来?
shadeofgod
2020-02-17 21:22:18 +08:00
@StrayBugs 你说的对,先定义清楚需求是更好的方式,不过对于闲逛论坛的人来说碰到每一个问题都像面试一样面对的话太累了。所以只是随手一写抛个思路

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/644676

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX