Cordova 离线同步 - 在 Pull - JS 库中多次调用 API
Cordova Offline Sync - multiple calls to API on Pull - JS Library
我们观察到当我们执行离线同步选择性拉取查询时发生了三个 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
These 3 calls happen every time a pull is done, can anyone explain why this happens?
发生这种情况是因为“pull”函数一次从服务器 table 拉取一页。您可以查看 source code here 了解详情。
假设您有数千条记录。如果您在没有分页的情况下执行查询,那么在接收和处理数据时,您的客户端进程很可能会在 phone 上占用相当长的一段时间。为了缓解这种情况并让您的移动应用程序保持响应,客户端 SDK 实现了分页。默认情况下,每个分页操作将请求 50 条记录。实际上,这意味着您会看到比预期多一个请求。
更多信息,请参考Understanding offline sync。
我们观察到当我们执行离线同步选择性拉取查询时发生了三个 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
These 3 calls happen every time a pull is done, can anyone explain why this happens?
发生这种情况是因为“pull”函数一次从服务器 table 拉取一页。您可以查看 source code here 了解详情。
假设您有数千条记录。如果您在没有分页的情况下执行查询,那么在接收和处理数据时,您的客户端进程很可能会在 phone 上占用相当长的一段时间。为了缓解这种情况并让您的移动应用程序保持响应,客户端 SDK 实现了分页。默认情况下,每个分页操作将请求 50 条记录。实际上,这意味着您会看到比预期多一个请求。
更多信息,请参考Understanding offline sync。