我正在使用Titanium SDK開發一個小型Android應用程序,該應用程序與遠程PHP文件進行交互以檢索其數據。 FOR循環在HTTPClient返回任何數據之前執行,因此'myTest'爲空,並且沒有任何內容添加到'tblListing'中。Titanium,等待HTTPClient回覆
function jsonPOST(inAction, inParams) { // jsonPOST is a global function
var xhr = Ti.Network.createHTTPClient({
onload : function(e) {
Ti.API.info("Received text: " + this.responseText);
return this.responseText;
},
onerror : function(e) {
Ti.API.debug(e.error);
alert('error');
return false;
},
timeout : 8000, // in milliseconds
});
var sendData = {
'action' : inAction,
'json' : JSON.stringify(inParams)
};
xhr.open('POST', "http://domain.com/file.php"); // url redacted
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xhr.send(sendData);
} // end. jsonPOST()
var myTest = jsonPOST('getlisting'); // only need to pass first param in this instance
for (i in myTest) {
tblListing.appendRow({ title: myTest[i].title, id: myTest[i].id });
}
沒有延遲執行其他任何東西在同一個線程上,我怎麼能讓FOR循環等待直到數據被HTTPClient返回? 'jsonPOST'函數用於檢索應用程序中多個元素的各種數據,並應保持動態。