Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中的异步服务_Java_Hibernate_Asynchronous_Service - Fatal编程技术网

java中的异步服务

java中的异步服务,java,hibernate,asynchronous,service,Java,Hibernate,Asynchronous,Service,我对此异步调用有问题: public class myClass { protected final int idObj; public void myMethod() { myService.getObj( new AsyncCallback<List<Object>>() { @Override public void onFailure(Throwable caught) {

我对此异步调用有问题:

public class myClass {
    protected final int idObj; 

    public void myMethod() {
        myService.getObj( new AsyncCallback<List<Object>>() {
              @Override
              public void onFailure(Throwable caught) {

              }

              @Override
              public void onSuccess(List<Object> listObject) {
                    idObj = listObject.get(0).getIdObj();
              }
    });


    if(idObj == 1) {
        //do something
    }
  }

}
公共类myClass{
受保护的最终int idObj;
公共方法(){
getObj(新的AsyncCallback(){
@凌驾
失败时的公共无效(可丢弃){
}
@凌驾
成功时公共无效(列表对象){
idObj=listObject.get(0.getIdObj();
}
});
if(idObj==1){
//做点什么
}
}
}
idObj
在第一次时等于零,并且此if块未执行。
如何避免这种情况?

这是一个异步调用,这意味着在onSuccess方法中执行的代码将在以后执行。 因此执行if语句,但此时您的值仍然为0

您应该将if语句放在
onSuccess
方法中