我们观察到执行脱机同步选择性拉取查询时发生了三次API调用
GET domain/tables/Events?$filter=updatedAt%20ge%20datetimeoffset'1969-12-30T22:00:00.000Z'
GET domain/tables/Events?$filter=updatedAt%20ge%20datetimeoffset'2017-06-27T22:00:00.000Z'
(当前日期时间)
GET domain/tables/Events?$filter=updatedAt%20ge%20datetimeoffset'2017-06-27T22:00:00.000Z'&$skip=1
每次拉动时都会发生这3次调用,有人可以解释为什么会这样吗?选择性同步查询以以下格式创建
syncContext
.pull(new WindowsAzure.Query('Events'), 'eventspull')
.then(function() { /* pull complete */ });
我们正在使用以下javascript离线库的最新版本。 https://zumo.blob.core.windows.net/sdk/azure-mobile-apps-client.js
答案 0 :(得分:0)
每次拉动都会发生这3次调用,有人可以解释为什么会这样吗?
这是因为“ pull ”函数一次从服务器表中提取一页。您可以查看source code here了解详情。
假设您有数千条记录。如果您在没有分页的情况下执行查询,那么在接收和处理数据时,您可能会在手机上占用相当长的一段时间。为了缓解这种情况并允许您的移动应用程序保持响应,客户端SDK实现了分页。默认情况下,每个分页操作将请求50条记录。实际上,这意味着您会看到比预期更多的请求。
有关详细信息,请参阅Understanding offline sync。