1

私の問題は、このメソッドが ajax がそれを埋める前にリストを返すことです。
リストを返す前に、どのようにajax応答を待つことができますか?

ジオコーダー:

public List<Address> getAddresses(String address) {     
                List<Address> addresses = new ArrayList<Address>();

                String url = "http://maps.googleapis...";

                AQuery aq = new AQuery(context);   

                aq.ajax(...); //Here I fill the addresses list

                return addresses;    
        }    
4

2 に答える 2

0

aq.ajax() を別のメソッド/関数に配置し、そのメソッド/関数で ajax 呼び出しが正常に完了したら、結果をこのメソッド/関数に返し、その結果をこのメソッド/関数から返します。

于 2013-11-29T10:55:54.200 に答える
0

同期呼び出しを行います。デフォルトでは、AJAX は非同期呼び出しを行います(asynchronous は false にする必要があります)

非同期呼び出しでは、要求された URL からデータを受け取る前に、アドレスを返します。

編集:

応答を受信したらアドレスを返すことができます。それ以外の場合は、sleep 関数を呼び出して async: false を実行できますが、最後の方法は推奨されません。

于 2013-11-29T13:10:32.240 に答える