基于游标的分页 - 如果 "before" 或 "after" 对象被删除怎么办?

Cursor based pagination - What if the "before" or "after" object get deleted?

下面是基于 Facebook 游标的分页示例 ```

{
  "data": [
     ... Endpoint data is here
  ],
  "paging": {
    "cursors": {
      "after": "MTAxNTExOTQ1MjAwNzI5NDE=",
      "before": "NDMyNzQyODI3OTQw"
    },
    "previous": "https://graph.facebook.com/me/albums?limit=25&before=NDMyNzQyODI3OTQw"
    "next": "https://graph.facebook.com/me/albums?limit=25&after=MTAxNTExOTQ1MjAwNzI5NDE="
  }
}

``` 我想当收到这样的请求时,服务器会找到 "after" 对象并获取其创建时间,然后搜索项目 "later" 而不是该对象,对吗?

我的问题:"after" 和 "before" 是正常的对象 ID 吗?如果分页时这些对象被删除怎么办?

前后参数可以用base64解码

$ echo "MTAxNTExOTQ1MjAwNzI5NDE=" | base64 --decode
10151194520072941

这链接到 https://www.facebook.com/matthewjohnston4/media_set?set=a.10151194520072941.476776.825212940&type=1

$ echo "NDMyNzQyODI3OTQw" | base64 --decode
432742827940

这链接到 https://www.facebook.com/matthewjohnston4/media_set?set=a.432742827940.204642.825212940&type=1

如果您删除后对象,它仍会在该对象 之后获得下一个项目。

最简单的方法就是自己测试一下。