我在 android studio 中使用 Google Cloud Endpoint Java api 后端和连接的 Android 应用程序。
我正在从 Android 应用程序调用我的后端 API 以检查用户名可用性。
在每个文本更改事件中都会检查用户名。
所以当文本更新时,我希望取消之前的请求。
我如何实现它?
我想到的一种方法是将随机字符串与请求一起发送到服务器,并忽略所有收到的响应,除了最新的。 但这并没有取消请求,网络仍在接收响应。此外,我还必须发送一些额外的数据来跟踪请求。
那么,如何取消呢?有没有办法用谷歌云端点 api 实现它?
附加信息: 我在 android 中使用 AsyncTask 发出谷歌云端点请求。我读了一些关于取消异步任务的内容。能以某种方式在这里使用吗?
最佳答案
取消 API 上的请求不是一种选择,因为它很可能会在您的取消订单到达服务器时得到处理并返回。取消 Asynctask 可能是一种选择,但您仍然必须考虑线程和网络延迟问题。
我认为最安全和最简单的方法是您已经提出的方法,将一个序列添加到您的请求中,并且仅当您收到该序列中的最新回复时才更新 UI。
关于android - 如何取消 Google Cloud Endpoint 端点请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30063960/