Gwt 异步回调问题。值在执行onSuccess方法之前返回
我已经编写了以下代码。这段代码基本上只是从数据库中检索值。但问题是它在onSuccess方法完成之前返回值 如何缓解这个问题 私有静态最终SomeServiceAsync服务=GWT.create(SomeService.class)Gwt 异步回调问题。值在执行onSuccess方法之前返回,gwt,Gwt,我已经编写了以下代码。这段代码基本上只是从数据库中检索值。但问题是它在onSuccess方法完成之前返回值 如何缓解这个问题 私有静态最终SomeServiceAsync服务=GWT.create(SomeService.class) private静态布尔值指示器=true; 私有静态布尔值checkValueOfVariable(){ service.isValueTurnedOn(新的AsyncCallback(){ @凌驾 失败时的公共无效(可丢弃){ alert(“检索值失败。”+ca
private静态布尔值指示器=true;
私有静态布尔值checkValueOfVariable(){
service.isValueTurnedOn(新的AsyncCallback(){
@凌驾
失败时的公共无效(可丢弃){
alert(“检索值失败。”+catch.getLocalizedMessage());
}
@凌驾
成功时的公共void(布尔值){
valueIndicator=值;
}
});
返回值指示器;
}
我想在执行onSuccess方法后返回值。这将不起作用
服务器调用是异步的。因此,该方法将在服务器调用返回之前返回该值
使用回调:
公共接口返回处理程序{
返回时无效(布尔值);
}
尝试:
private static void checkValueOfVariable(ReturnHandler){
service.isValueTurnedOn(新的AsyncCallback(){
@凌驾
失败时的公共无效(可丢弃){
alert(“检索值失败。”+catch.getLocalizedMessage());
}
@凌驾
成功时的公共void(布尔值){
onReturn(值);
}
});
}
并使用以下命令调用它:
checkValueOfVariable(新的ReturnHandler()){
返回时的公共void(布尔值){
valueIndicator=值;
}
)
希望这会有所帮助。你可能会从阅读中受益,阅读内容丰富,几乎与语言无关。
private static boolean valueIndicator = true;
private static boolean checkValueOfVariable() {
service.isValueTurnedOn(new AsyncCallback<Boolean>() {
@Override
public void onFailure(Throwable caught) {
Window.alert("Failed to retrieve value."+caught.getLocalizedMessage());
}
@Override
public void onSuccess(Boolean value) {
valueIndicator = value;
}
});
return valueIndicator;
}