您好,我正在使用 Titanium Studio 开发 Android 应用程序。我开发了一个小应用程序。我的问题是我无法访问 xhr.on 加载中定义的变量。我使用了以下代码:
xhr.onload = function()
{
var json = this.responseText;
var to_array = JSON.parse(json);
var to_count = to_array.length;
};
我想在 onload 函数之外访问 to_count 和 to_array 并将其传递给另一个子窗口。为此我使用了以下代码:
var feedWin = Titanium.UI.createWindow({
url:'home/feed.js'
});//alert(to_count);
feedwin.to_array = to_array;
feedwin.to_count = to_count;
最佳答案
默认情况下,XHR 客户端是异步的,这意味着代码将在 XHR 运行时继续执行。如果您有依赖于 XHR 完成的代码,那么您将需要从 onload 函数中调用该代码,或者通过将“false”作为第三个参数添加到 xhr 来强制 XHR 同步。 send()
(我发现第一个选项更可靠,更符合 Titanium 期望/感觉的最佳实践,仅供引用)。
关于javascript - 在加载函数外部访问变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7401026/