当我使用API返回类似UserConversations::paginate(10)
的内容时。
可以说我有一系列对话对象:
let conversations = []
let moreLink = null
我有API回调之后
conversations = [...conversations, ...response.data.data]
moreLink = response.data.links.next
让我们假设moreLink = '/conversations?page=2'
现在,如果我在数据库中收到新会话,则将一个会话从page=1
推送到page=2
,从那里我会得到重复...
我看到的最好的解决方法是检查page=2
中是否有ID's
个对话conversation array
中的任何一个,如果不存在,则不包括在内。.
如果有人每次请求最多加载100个对话,是否有更好的方法来使用此功能?即使有重复,也需要在客户端进行for循环。
如果仅通过ID进行分页之前的排序,那将是另一种方式。 因此,我可以在请求中发送对话中最大的ID,并从该ID返回下一页,但我的ID不会按ID排序。