java - 获取当前回调计数?

标签 java gwt callback

是否可以获取当前正在运行的如下回调的数量?

(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/

相关文章:

java - GWT + MySQL - 如何创建连接?

javascript - 使用下面的 jquery ajax 缓存代码时,jquery ajax 中的回调不起作用

参数数量未知的 Android Kotlin 回调

javascript - MongoDB/EJS : How to make synchronous query and render result values in EJS

java - Java 什么时候是基于 Web 的应用程序的正确选择

java - 不同输入参数数量的算法的最佳设计模式

java - 使用哪个 JMS 客户端库?

java - 如何在linux中用C++代码调用java -classpath

java - 为什么 GWT wrap() 方法不必要地迭代整个 DOM?

java - 即使通过 context.getRealPath 获取路径,也未在 servlet 中找到文件?