我是 Titanium Studio 的新手,我正在尝试为 android 开发一个应用程序。当我执行以下功能时(即,当我单击窗口时):
win1.addEventListener('click', function(){
alert('On click');
alert('End of the function');
});
首先显示第二个警报“功能结束”,然后显示第一个警报“单击时”。
您对此有什么解决方案。提前致谢。
我是 Titanium Studio 的新手,我正在尝试为 android 开发一个应用程序。当我执行以下功能时(即,当我单击窗口时):
win1.addEventListener('click', function(){
alert('On click');
alert('End of the function');
});
首先显示第二个警报“功能结束”,然后显示第一个警报“单击时”。
您对此有什么解决方案。提前致谢。
在 Titanium 中,alert()
调用是异步的(与 Web 浏览器不同)。继承人关于它的文档:
请注意,与基于 Web 浏览器的警报版本不同,该方法是异步的。但是,一次只有一个警报对话框是可见的和模态的。
请注意,将来可能会删除此方法。
您从一个函数内部触发了两个警报,第二个警报没有首先打开,它们按顺序打开,因此当您打开第alert('On Click')
一个警报时,它几乎立即被掩盖(或真正被替换,因为一次只显示一个警报)通过打开第二个警报框。
因此,您永远不应该在一个函数中调用多个警报。
考虑 Javascript 和 Titanium 中的最佳实践:你永远不应该用它alert()
来调试现代 javascript,尤其是当你有更强大的工具可供使用时。即使在 Web 浏览器中(使用 Web Developer Tools 或 Firebug)。此外,如前所述,将来可能会从 Titanium 中删除此功能(我希望他们这样做)。
而是使用 Debug 透视图中的内置调试器。它的功能就像其他任何可视化调试器一样。但是,如果您是新手,这里有一个快速链接:使用 Titanium 进行调试
另一种选择是使用printf()
/console.log
等价于 Titanium,即:
Titanium.API.info('On click');
但是为什么不单步执行代码并为自己省点麻烦。