azure - Cordova 离线同步 - 多次调用 Pull 上的 API - JS 库

标签 azure azure-mobile-services offlineapps

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

  1. GET domain/tables/Events?$filter=updatedAt%20ge%20datetimeoffset'1969-12-30T22:00:00.000Z'

  2. GET domain/tables/Events?$filter=updatedAt%20ge%20datetimeoffset'2017-06-27T22:00:00.000Z' (当前日期时间)

  3. 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”函数一次从服务器表中拉出一页。您可以查看source code here了解详情。

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

更多信息请参阅Understanding offline sync .

关于azure - Cordova 离线同步 - 多次调用 Pull 上的 API - JS 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44798891/

相关文章:

ASP.NET API 返回 本地主机上此请求的授权已被拒绝,但在 Azure 上正常工作

Azure架构设计

java - 如何从 windowsazure mobileservices 获取文本

node.js - 更改移动服务的 NodeJS 运行版本

html - 缓存 list 大小限制和 Web 应用程序

amazon-web-services - 如何实现重新烘焙 AMI 的一致性

azure - Service Fabric 具有多个用于服务远程处理的通信监听器

azure - az cli 计划查询 --条件不起作用

azure-mobile-services - 天蓝色通知中心标签限制

offlineapps - chrome 应用程序中的 draw.io 插件