Azure Cordova离线同步-在Pull-JS库上多次调用API

Azure Cordova离线同步-在Pull-JS库上多次调用API,azure,azure-mobile-services,offlineapps,Azure,Azure Mobile Services,Offlineapps,我们观察到,当我们执行离线同步选择性拉查询时,会发生三个API调用 获取域/表/事件?$filter=updatedAt%20ge%20datetimeoffset'1969-12-30T22:00:00.000Z' 获取域/表/事件?$filter=updatedAt%20ge%20datetimeoffset'2017-06-27T22:00:00.000Z'(当前日期时间) 获取域/表/事件?$filter=updatedAt%20ge%20datetimeoffset'2017-06-2

我们观察到,当我们执行离线同步选择性拉查询时,会发生三个API调用

  • 获取域/表/事件?$filter=updatedAt%20ge%20datetimeoffset'1969-12-30T22:00:00.000Z'

  • 获取域/表/事件?$filter=updatedAt%20ge%20datetimeoffset'2017-06-27T22:00:00.000Z'
    (当前日期时间)

  • 获取域/表/事件?$filter=updatedAt%20ge%20datetimeoffset'2017-06-27T22:00:00.000Z'&$skip=1

  • 这3个电话每次拉一次都会发生,有人能解释为什么会发生这种情况吗?选择性同步查询按以下格式创建

    syncContext
    .pull(新WindowsAzure.Query('Events'),'eventspull')
    .then(函数(){/*pull complete*/})

    我们正在使用以下javascript脱机库的最新版本

    这3个电话每次拉一次都会发生,有人能解释为什么会发生这种情况吗

    这是因为“pull”函数一次从服务器表中提取一个页面。有关详细信息,请查看

    假设你有数千条记录。如果您在没有分页的情况下执行查询,那么在接收和处理数据时,很可能会在相当长的一段时间内占用手机上的客户端进程。为了缓解这种情况并使您的移动应用程序保持响应,客户端SDK实现了分页。默认情况下,每个分页操作将请求50条记录。实际上,这意味着您将看到比预期更多的请求

    有关更多信息,请参阅

    这3个电话每次拉一次都会发生,有人能解释为什么会发生这种情况吗

    这是因为“pull”函数一次从服务器表中提取一个页面。有关详细信息,请查看

    假设你有数千条记录。如果您在没有分页的情况下执行查询,那么在接收和处理数据时,很可能会在相当长的一段时间内占用手机上的客户端进程。为了缓解这种情况并使您的移动应用程序保持响应,客户端SDK实现了分页。默认情况下,每个分页操作将请求50条记录。实际上,这意味着您将看到比预期更多的请求


    有关更多信息,请参阅。

    这对于多次通话是有意义的。但我们也在努力研究查询ID是如何工作的,因为即使我们将其设置为动态唯一查询或静态唯一查询,api调用始终返回相同的数据,而不是已更改/更新的数据。每个呼叫或每个表的唯一ID是唯一的吗?什么设置了下一个api调用的开始日期?这对于多个调用是有意义的。但我们也在努力研究查询ID是如何工作的,因为即使我们将其设置为动态唯一查询或静态唯一查询,api调用始终返回相同的数据,而不是已更改/更新的数据。每个呼叫或每个表的唯一ID是唯一的吗?什么设置下一个api调用的开始日期?