我有一个返回对象列表的端点-假设它称为/getDogs
。 API提供程序提供了一些基本的分页选项(即offset
和size
),但是无法获取dogs
的总数。
我可以做类似的事情: (伪代码)
PAGE_SIZE
curPage = 0
while (items left in list)
dogs = fetch('/getDogs', { offset: currentOffset, size: PAGE_SIZE })
if dogs.length < PAGE_SIZE
// we've found the last page
return curPage * PAGE_SIZE + (PAGE_SIZE - dogs.length) // or something like this
else
curPage++
currentOffset += PAGE_SIZE
这似乎效率低下,这是一个令人担忧的问题,因为API的速率受到严格限制。
如何仅使用offset
和size
有效地得出对象总数?
注意:我正在尝试获取对象的总数,以便能够A)显示总页面数并让用户导航至该页面,B)反转显示顺序项目的数量(端点按不合逻辑的顺序返回项目-最近最少更新**)*