【发布时间】:2017-07-27 20:08:44
【问题描述】:
在收到响应后,我无法弄清楚如何从 RequestBuilder 的 sendRequest() 方法返回字符串值。我提到了similar question,建议使用Callback<String, String> callback,但我不知道如何实现这一点。 Callback 的 GWT documentation 没有任何示例。
我有一个类 Requester 和方法 generateRequest() 应该使用 RequestBuilder 发出请求并在调用时返回一个字符串。 processResponse() 方法接收响应,解析它并返回一个字符串,我将它存储在output 中。从另一个类调用generateRequest() 时如何返回这个output 字符串?
public String generateRequest() {
RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, URL.encode(url.getUrl()));
builder.setHeader("Authorization", authHeader);
String title = null;
try {
builder.sendRequest(null, new RequestCallback() {
public void onError(Request request, Throwable exception) {
GWT.log(exception.getMessage());
}
public void onResponseReceived(Request request, Response response) {
String output = processResponse(response);
}
});
} catch (RequestException e) {
GWT.log(e.getMessage());
}
return title;
}
【问题讨论】: