我有一个用于 iOS 的 AngularJS/Cordova 应用程序,它调用远程 API。
有时,我们的用户在手机上的连接速度很慢或质量很差,因此无法在手机上执行某些操作。
在此期间,用户可以点击触发更多网络请求的其他按钮,它们会排队并导致应用程序挂起。
帮助纠正这种情况的最佳方法是什么?我在考虑以下选项:
- 在特定 n 秒后超时的请求将被简单地中止。
- 使用 debounce 在触发请求之前等待 n 毫秒,并在用户执行其他操作时取消计时器(这仍然不会考虑在慢速网络上发出的失败请求)。
- 将失败/超时请求添加到队列中,稍后在有更可靠的连接时发送它们(不知道如何完成此操作)。
有谁知道任何其他解决方案 - 以及有关实施的任何想法?
任何建议高度赞赏。谢谢!