0

我正在尝试在我的应用程序中创建一个趋势功能。

目前的做法:

ranking为探索时间线中的每个帖子都有一个孩子,当他们查看或喜欢时,它会在用户手机上不断更新。

ExploreTimeline
    post1
       ranking: 117117117
       timestamp: 32930.489349

在探索中,我会获取排名最高的 10 个帖子,当用户在滚动后到达某个点时,我会进行分页并在最后一个排名值处获取下一个 10 个最高的 Ending

问题

如果用户在浏览时,最后一个 postRanking 的排名发生了变化,那么下一个分页将会混乱(在我的测试中它重复了许多帖子)。

我怎样才能改变我的策略来避免这个问题?或者什么是修复?

4

1 回答 1

0

如果您想实时更新排名,那么您至少无法使用 Firebase 实现分页,因为如果发生更新,订单将变得混乱。观看此视频,解释Firebase自己的分页,了解原因。您最好的选择是获得前 10 个,然后如果用户继续滚动,则获得前 20 个、30 个,依此类推。这样您就可以确保您的用户获得的排名始终是正确的

于 2020-08-17T09:35:12.183 回答