0

GWT アプリケーションのクライアント側でカスタマイズされた Aysnc コールバック関数を呼び出す方法はありますか?

私の懸念によると、デフォルトの AsyncCallback 関数の代わりに、クライアント側でカスタマイズされたコールバック関数を呼び出す必要があります..

出来ますか.....

4

2 に答える 2

2

はい、あなたはこのようにすることができます

import com.google.gwt.user.client.rpc.AsyncCallback;

public interface MycustomisedCallBack extends AsyncCallback<T> {


   @Override
    public void onFailure(Throwable caught);
   @Override
    public void onSuccess(T result);

    public void onmyMethod();
}

そしてあなた MycustomisedCallBackをRPCに渡します。

rpcService.rpcMethod(new MycustomisedCallBack() {

            @Override
            public void onmyMethod() {
                // TODO Auto-generated method stub

            }

            @Override
            public void onFailure(Throwable caught) {
                // TODO Auto-generated method stub

            }

            @Override
            public void onSuccess(T result) {

            };
        });
于 2013-03-26T11:54:25.007 に答える
-1

まず、独自のカスタマイズされた AsyncCallback クラスを作成する必要があります。次に例を示します。

import com.google.gwt.user.client.rpc.AsyncCallback;

public class MyAsyncCallback<T> implements AsyncCallback<T> {

    public void onFailure(Throwable arg0) {
        // default onFailure method, invoking your method
        myOnFailure(arg0);
    }

    private void myOnFailure(Throwable arg0) {
        // Your code here
    }

    public void onSuccess(T arg0) {
        // default onSuccess method invoking your method
        myOnSuccess (arg0);
    }

    private void myOnSuccess(T arg0) {
        // Your code here
    }
}

このクラスは、呼び出されているサービスから任意の結果タイプを受け取り、onSuccess および onFailure メソッドの呼び出しを、コードを配置できる独自のメソッド (myOnSuccess および myOnFailure) に委譲します。

次のステップは、新しい MyAsyncCallback クラスを使用して rpc サービスを呼び出すことです。例えば:

myService.sendString("foo", new MyAsyncCallback<String>());

この例では、呼び出されるメソッド (sendString) が String を受け取ります。汎用コールバック マネージャーを構築する場合は、カスタマイズされたメソッドが適切な Type 処理を処理する必要があります。また、呼び出し時にコールバック メソッドを実装する必要がないことにも注意してください。

于 2013-03-26T16:10:49.487 に答える