我有一些由GWT(2.4)RequestBuilder
进行的查询,可能需要很长时间才能执行。在这些情况下,我希望允许用户取消请求。因为这只是一个查询,所以中止服务器端的处理不会有任何有害的副作用。如果解决方案涉及任何服务器,即使浪费的服务器端CPU周期也无关紧要。这是情况的示例:
RequestBuilder requestBuilder = new RequestBuilder(
RequestBuilder.GET, FOOBAR_SERVICE_URL);
requestBuilder.sendRequest("",
new RequestCallback<ResultList>() { .... });
// I'd like to cancel the request when a Cancel button is pressed
你有什么想法吗?
最佳答案
sendRequest()
的RequestBuilder
方法返回实例Request
类,该实例具有cancel()
方法,该类允许您取消请求。
例如。
RequestBuilder requestBuilder = new RequestBuilder(
RequestBuilder.GET, FOOBAR_SERVICE_URL);
Request request = requestBuilder.sendRequest("",
new RequestCallback<ResultList>() { .... });
...
//user clicked cancel button
request.cancel();