return String aus einer callback - Java

weiß jemand wie ich das lösen kann das folgende problem. Ich möchte einen String zurückzugeben, der von einem Rückruf, aber ich bekomme nur "Die Letzte lokale variable s zugewiesen werden kann, da es definiert ist, in einem umschließenden Typ", weil der Letzte.

 public String getConstraint(int indexFdg) {
    final String s;
    AsyncCallback<String> callback = new AsyncCallback<String>() {
        public void onFailure(Throwable caught) {
            caught.printStackTrace();
        }

        public void onSuccess(String result) {
            s = result;
        }
    };
    SpeicherService.Util.getInstance().getConstraint(indexFdg, callback);
    return s;
    }
  • AsyncCallback kein Wert zurückgegeben werden kann. Aber Callable<T> können. In der Regel, was ich tun würde, machen dies zu einem Callable werden, übergeben Sie es auf eine executor-service, und verwenden Sie die zurückgegebenen Future<T> zu bekommen, ist der zurückgegebene Wert.
InformationsquelleAutor ph09 | 2011-07-27
Schreibe einen Kommentar