我正在处理这段GWT代码,该代码具有一种接受回调函数作为参数的方法:
service.XYZ(new AsyncCallback(){
public void onSuccess(){
//Does something
}
public void onFailure(){
//Does something
}
});
有没有一种方法可以立即执行onSuccess而不是在以后的某个时间执行? (假设方法XYZ的签名不能更改)。另外,如果我可以自己定义AsyncCallback函数,并且可以像这样立即执行onSuccess方法-callback.onSuccess()-如何将参数传递给callback.onSuccess方法?当前,onSuccess方法的参数仅在方法XYZ中可用。
答案 0 :(得分:0)
首先,您要做的事情很可能是错误的,您应该重新评估事情的完成方式。
曾经说过,并且将自己限制在您的限制范围内:
final Object fixedArgument = ...;
final String[] variableArgument = { "Sample argument" };
AsyncCallback myCallback = new AsyncCallback() {
@Override
public void onSuccess() {
//Does something like fixedArgument.toString() or variableArgument[0].isEmpty()
}
@Override
public void onFailure() {
//Does something
}
};
service.XYZ(myCallback);
myCallback.onSuccess();
// fixedArgument = new Object(); Cannot do this
variableArgument[0] = "Another sample argument";
myCallback.onSuccess();