在客户端处理分页 api
Handle Paginated api on the client side
我创建了一个 api,它遵循三个参数 page
、longitude
、latitude
。因此,在执行请求时,您传递用户位置和给定页面,api 将 return 按用户位置排序的组织页面。此数据在客户端的移动数据库中 saved/updated。我的问题是,当尝试在视图中填充此数据时,我在客户端如何知道哪些数据已更新,哪些未更新,因为它是分页的 api 它只会 update/save页面上的对象?
到目前为止,我只是尝试填充它在页面上检索到的对象的数量,但是 api 中的对象可能会根据用户更改位置的速度来切换页面?我考虑过在请求数据时在我的移动数据库对象中制作某种标志,但不太确定在这种情况下该怎么做?
我倾向于认为您的本地数据库与用户的当前位置相关,由其经度和纬度定义。因此,我建议您在用户更改其职位时清理本地数据库,并使用您从服务器获得的新职位重新填充。
这是最简单的方法。如果,正如您提到的,对于附近的位置,您得到的组织出现在先前位置的不同页面中,则可能的优化是将每个组织的当前页面(以及页面内的位置)存储在数据库中。当您检索新位置时,您检查收到的每个组织是否已存储在数据库中(组织需要有一个唯一的 ID 才能执行此操作),然后更改 position/page 以匹配从服务器收到的内容对于新位置。
我创建了一个 api,它遵循三个参数 page
、longitude
、latitude
。因此,在执行请求时,您传递用户位置和给定页面,api 将 return 按用户位置排序的组织页面。此数据在客户端的移动数据库中 saved/updated。我的问题是,当尝试在视图中填充此数据时,我在客户端如何知道哪些数据已更新,哪些未更新,因为它是分页的 api 它只会 update/save页面上的对象?
到目前为止,我只是尝试填充它在页面上检索到的对象的数量,但是 api 中的对象可能会根据用户更改位置的速度来切换页面?我考虑过在请求数据时在我的移动数据库对象中制作某种标志,但不太确定在这种情况下该怎么做?
我倾向于认为您的本地数据库与用户的当前位置相关,由其经度和纬度定义。因此,我建议您在用户更改其职位时清理本地数据库,并使用您从服务器获得的新职位重新填充。
这是最简单的方法。如果,正如您提到的,对于附近的位置,您得到的组织出现在先前位置的不同页面中,则可能的优化是将每个组织的当前页面(以及页面内的位置)存储在数据库中。当您检索新位置时,您检查收到的每个组织是否已存储在数据库中(组织需要有一个唯一的 ID 才能执行此操作),然后更改 position/page 以匹配从服务器收到的内容对于新位置。