Appcelerator上的JavaScript。从回调函数中提取数据

Appcelerator上的JavaScript。从回调函数中提取数据,javascript,appcelerator,Javascript,Appcelerator,钛合金SDK版本:1.6.1 iPhone SDK版本:4.2 我正在开发一个钛Appcelerator应用程序 我在一个单独的文件中得到了一个函数,该函数返回表视图()的一个部分,在主文件中,我得到了一个对该函数的回调调用。我希望能够提取回调数据并将其添加到数组()中,但无法从调用函数中获取该数据。它是如何完成的?您正在体验AJAX的异步特性。将警报移动到回调函数中,它将按预期工作: var rowData = []; rowData.push("THIS ADDS TO THE ARRAY

钛合金SDK版本:1.6.1
iPhone SDK版本:4.2

我正在开发一个钛Appcelerator应用程序


我在一个单独的文件中得到了一个函数,该函数返回表视图()的一个部分,在主文件中,我得到了一个对该函数的回调调用。我希望能够提取回调数据并将其添加到数组()中,但无法从调用函数中获取该数据。它是如何完成的?

您正在体验AJAX的异步特性。将警报移动到回调函数中,它将按预期工作:

var rowData = [];

rowData.push("THIS ADDS TO THE ARRAY");

loadPhones(function(data) { 
    rowData.push(data);
    alert(rowData);
});
您必须将函数传递给
loadPhones
的原因是您不希望在检索电话列表时浏览器锁定。按照您编写的方式,在到达
alert
语句时,匿名回调函数尚未执行


对loadPhones回调中检索到的数据执行任何需要执行的操作。

啊,好的,我可以像您一样在函数中执行警报,但我需要将数据推入rowData数组,以便使用它,否则函数将无效。难道没有办法做到这一点吗?@JonathanClark:当然,这已经发生了。您的问题与访问阵列的时间有关。如果将该代码放在loadPhones之后,它将无法访问,因为回调不会执行。您需要何时访问数据,以及访问数据的目的是什么?