我必须进行几次 GWT-RPC 调用。我想像这样异步启动它们。
service.s1(param1, callback1);
service.s2(param2, callback2);
service.s3(param3, callback3);
我不确定如何“同步”三个回调。下一个动作,例如调用方法nextMethod();应在三个回调完成后完成。是否有“最佳实践”如何做到这一点?
我想建立一个像这样的小服务类
public class ServiceSync
{ private boolean[] callReady;
public ServiceSync(int n)
{ callReady = new boolean[n];
for(int i=0; i<n;i++)
{ callReady[i]=false;
}
}
public boolean setReady(int i)
{ callReady[i]=true;
for(boolean b : callReady)
{ if (!b) return false;
}
return true;
}
}
在回调中我会说
if (serviceSync.setReady(myId))
{ nextMethod();}
但我不确定,如果这是个好主意。特别是我不确定是否会出现问题,如果 2 个回调“同时”调用此服务类