1

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

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

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

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

  1. 在特定 n 秒后超时的请求将被简单地中止。
  2. 使用 debounce 在触发请求之前等待 n 毫秒,并在用户执行其他操作时取消计时器(这仍然不会考虑在慢速网络上发出的失败请求)。
  3. 将失败/超时请求添加到队列中,稍后在有更可靠的连接时发送它们(不知道如何完成此操作)。

有谁知道任何其他解决方案 - 以及有关实施的任何想法?

任何建议高度赞赏。谢谢!

4

1 回答 1

0

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

于 2013-11-05T23:00:35.177 回答