是否可以获取当前正在运行的如下回调的数量?
(new AsyncCallback<List<data>>()
{
@Override
public void onFailure(Throwable caught)
{
}
@Override
public void onSuccess(List<PersonalData> result)
{
}
});
最佳答案
我使用自己的 ExtendedAsyncCallback。它允许我在某些回调仍处于 Activity 状态时阻止 UI。请注意,它还允许我避免在每个回调中剪切和粘贴 onFailure
。
public class ExtendedAsyncCallback<T> implements AsyncCallback<T> {
private static int activeCallbacks;
public ExtendedAsyncCallback() {
// here I block the UI and show a nice spinner
activeCallbacks++;
}
@Override
public void onFailure(Throwable caught) {
activeCallbacks--;
// show an error message depending on exception
}
@Override
public void onSuccess(T result) {
activeCallbacks--;
if (activeCallbacks == 0) {
// here I hide my spinner
}
execute(result);
}
public void execute(T result) {
// I use this method in presenters instead of 'onSuccess'
}
那么你的电话就变成了:
(new ExtendedAsyncCallback<Object>() {
@Override
public void execute(Object result) {
}
});
关于java - 获取当前回调计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24160050/