网络连接缓慢或失败时排队请求

时间:2013-11-05 22:54:34

标签: angularjs cordova

我有一个适用于iOS的AngularJS / Cordova应用程序,它可以调用远程API。

有时,我们的用户在手机上连接速度较慢或质量较差,因此无法在手机上执行某项操作。

在此期间,用户可以点击其他触发更多网络请求的按钮,这些按钮会排队并导致应用程序挂起。

帮助纠正这种情况的最佳方法是什么?我在考虑以下选项:

  1. 请求在n秒后超时将被中止。
  2. 在启动请求之前使用debounce等待n msecs,如果用户执行了其他操作,则取消定时器(这仍然不能解决在慢速网络上发出的失败请求)。
  3. 将失败/超时请求添加到队列,稍后在有更可靠的连接时发送它们(不知道如何完成此操作)。
  4. 有没有人知道任何其他解决方案 - 以及有关实施的任何想法?

    任何建议都非常感谢。谢谢!

1 个答案:

答案 0 :(得分:0)

我认为防止用户调用其他请求的简单最安全的方法 - 使用阻止页面的加载器直到获得任何响应/错误。它不需要复杂的逻辑,因此需要维护。