【发布时间】:2015-08-26 19:09:44
【问题描述】:
问题:如何让retrofit+rxjava请求唯一?例如用户可以点击很多按钮,并且会有很多请求。 所以,我的观点是,如何只发送一个请求,而其他相同的请求会自动丢弃。 (一次应该只运行一个相同的请求)
使用布尔值的解决方案(在执行任务之前检查该任务是否已经在运行),但也许有人可以提出更好、更通用的解决方案?
非常感谢。
【问题讨论】:
-
检查操作员 amb。它应该符合您的需求。另一种方法是在短时间内限制请求。
-
如果我错了,请纠正我,但是我在执行 observable 后无法动态添加对象到 amb?或者我可以?那该怎么做呢?
-
构建一个发出 observable 的 observable。我想我读你的问题太快了,错过了一点:每个 ID 的唯一请求。如果我理解正确,您可以使用 groupBy 运算符(以及每个 id/请求的组)而不是 take(1) 和 flatMap 分组的 observable。在这种情况下,它应该只请求一次。
标签: android queue retrofit rx-java