1

この投稿の提案を実装し、最初のクリック後にボタンを無効にしました。GWTアプリケーションでDoubleSubmitを防ぐ方法は? 私が知りたいのは、失敗と成功の両方の方法でボタンを再度有効にすると、常に再度有効になることです。また、失敗と成功の両方のメソッドで複製するのではなく、サーバーが応答したときに常に実行したいコードを配置できる場所はありますか

4

1 に答える 1

3

私は毎回onSuccess()orが呼び出されると思います。onFailure()

サーバーへの応答を取得するときに常に実行されるコードを配置できる場所がある場合はAsyncCallback、そのコードonFailure()onSuccess()メソッドを含む を作成できます。AsyncCallback次に、を作成するたびにそれを拡張できますAsyncCallback

public MyAsyncCallback<T> extends AsyncCallback<T>(){

    @Override
    public void onFailure(Throwable caught){
        //Do something
        onResponse()
        failed(caught);
    }

    @Override
    public void onSuccess(T result){
        //Do something
        onResponse()
        succeeded(result);
    }

    public void onResponse(){
        // Do something or nothing by default
    }

    public abstract void failed(Throwable caught);

    public abstract void succeeded(T result);

};

AsyncCallbackjust useを作成したいときはいつでもMyAsyncCallback

AsyncCallback callback = new MyAsyncCallback(){

    @Override
    public void failed(Throwable caught){
        //Do something
    }

    @Override
    public void succeeded(T result){
        //Do something
    }  

    // Optionally override onResponse() if needed
    @Override
    public void onResponse(){
        //Do something
    }

}
于 2013-03-21T16:38:37.973 に答える