我有一个程序,其逻辑与我在这里包含的虚拟样本相同。我试过一个简单while (1)
的不运行(至少没有显示 UI)。此示例根据应终止循环while
的变量设置运行循环。addEventListener()
但是,它的作用就像while (1)
. 简单地说,我需要做的是等待密码输入并验证它是否匹配。如果没有,我继续循环。如果匹配,则程序继续进行另一个循环(示例中未显示),只要程序运行,该循环就需要运行。第二个while
基于用户输入运行几个函数。每次有一个用户输入时,另一个循环while
正在运行。我不喜欢使用另一个线程。似乎任何创建循环的逻辑都以相同的方式做出反应,即不执行或至少不可见执行。换句话说,为什么不while (1)
工作for (;;)
!任何帮助将不胜感激。
//app.js
var debugText = Titanium.UI.createLabel({
top: 600,
left: 0,
width: 500,
height: 100,
color: '#777',
font:{fontSize:40},
hintText: 'debug text'
});
var entryCodeText = Titanium.UI.createTextField({
top: 300,
left: 0,
width: 400,
height: 100,
color: '#777',
font:{fontSize:40},
hintText: 'Enter Passcode'
});
//add labels and fields to window
win.add(entryCodeText);
win.add(debugText);
win.open();
while (exitCode == 0) {
// do stuff
} // end of exitCode while loop
// start of continuous program loop
while (1) {
// if no event, just continue loop
// if event , execute several functions and continue with loop
} // end of while(1) loop - runs as long as program runs
//*************************************************************************
entryCodeText.addEventListener("return", function(e) {
if (computeCode(entryCodeText.value)< 0) {
debugText.text = "failed computecode";
exitCode = 0;
continue;
} else {
debugText.text = "passed computeCode()";
exitCode = 1;
break;
}
});
//continue with other logic on break and exitCode = 1
//************************************************************
function computeCode(textValue) {
// do stuff to the textValue
}