我正在开发一个需要显示某种在线/离线指示器的移动网络应用程序。该应用程序由我们定期同步的 REST API 支持,同时将任何本地更改存储在 WebSQL 数据库中。我们每 10 分钟拉出任何服务器更改,但任何本地更改都会立即进行,尽管如果由于更改存储在本地而失败POST
也没什么大不了的。POST
问题是:在这种情况下,在线状态指示器有多大用处?为了完成这项工作,我们将不得不在 API 上添加一个状态方法,我们可以每分钟 ping 一次(待定),这将增加移动数据消耗并给服务器带来负载。更重要的是,如果 REST api 在我们 ping 时是活动的,然后在 30 秒后尝试进行同步时关闭(因为我们认为我们“在线”),则用户可以online = true
在 UI 中看到实际调用 REST API失败的。
我的感觉是我们不应该费心显示状态指示器 - 如果呼叫失败,大多数时候用户不需要担心,更重要的是他们知道最后一次成功同步是 X 分钟前.