java - 如何获取 concatWith 中使用的第一个 Flowable 的大小
问题描述
我有一个本地房间数据库用于缓存产生一个 Flowable,我连接一个远程 Flowable 以在我的视图中尽快获取更新。
return db.variantDao().getVariantsWithImageInCategory(categoryId)
.flattenAsFlowable(s -> s)
.zipWith(Flowable.range(0, Integer.MAX_VALUE),
(item, counter) -> new PositionedItem<>(counter, item, true))
.concatWith(remotes);
当我从遥控器 Flowable 获取更新的数据时,它可以工作,但现在可能会发生遥控器中的一个对象丢失,因此我需要在本地缓存和视图中删除它,所以我考虑再次连接可以这样流动
Flowable<PositionedItem<VariantWithImage>> del = Observable.range(REMOTES_SIZE, locals.subscribeOn(ioScheduler).blockingGet().size() ).map((a) ->
(new PositionedItem<>(a, (VariantWithImage)null, true)))
.toFlowable(BackpressureStrategy.BUFFER);
在视图中,我只会隐藏读取空数据的元素。但我的问题是我无法找到如何提取先前发出的 Flowable 的大小 - 由 REMOTES_SIZE 指示。至少对于视图,我认为这应该会有所帮助,而对于更新缓存,我希望找到某种方法来存储已从缓存中发出的对象列表,并在远程也看到它们时标记它们。
解决方案
推荐阅读
- mongodb - 如何在 mongo db 中使用另一个字段的值来投影字段?
- visual-studio-code - VScode在打字时短暂休息时自动跳转到下一页
- gitlab - Gitlab-ci - 管道因没有工作而失败
- sql-server - 如何在 Azure 门户中查找谁创建了 SQL Server?
- javascript - 反应.js | 这两个功能有什么不同?
- mysql - 使用 sql max 函数查询
- r - R根据列名中的日期值重新排列数据框中的列
- python - 将python列表转换为字节数组并返回
- r - 循环内的岭回归
- javascript - 如何从 mp3 文件中获取数据并自动将其放在 html 上?