2011-05-26 27 views
0

我有以下問題。RequestBuilder返回null

我創建了一個類來處理對數據庫的所有調用。 我在GWT的前端使用RequestBuilder發送HTTP GET請求。

public String getDadosGET(String phpFilePath) { 
    rb = new RequestBuilder(RequestBuilder.GET, phpFilePath); 
    rb.setHeader(header, headerValue); 

    try { 
     response = rb.sendRequest(null, new RequestCallback() { 

      @Override 
      public void onResponseReceived(Request request, Response response) { 
       text = response.getText();     
      } 

      @Override 
      public void onError(Request request, Throwable exception) { 

      } 
     }); 
    } catch (RequestException e) { 
     e.printStackTrace(); 
    } 
    return text; 
} 

現在,如果我輸出onResponseReceived方法內的文本,它不爲空。 如果在return text之前完成,則爲空。

我需要的是強制程序首先獲取數據,然後返回該方法。

謝謝。

回答

0

我覺得你還沒完全理解異步調用的概念。檢查出this article

我不認爲有一種方法可以同步進行GWT調用,這是您似乎想要的。

+0

我知道返回文本;行正在執行之前text = response.GetText();線。 – elvispt 2011-05-26 13:02:50