Javascript 请勿在钛合金中使用不能正常工作的线圈

Javascript 请勿在钛合金中使用不能正常工作的线圈,javascript,titanium,titanium-alloy,Javascript,Titanium,Titanium Alloy,我认为这应该是一件容易的事,但我已经不知所措了 我创建了一个应用程序,根据延迟“设置间隔”在钛合金屏幕上循环显示图像 它无限期地循环图像,但我想添加一个函数,用户可以在一个时间延迟(循环中的一组迭代次数)或按下按钮(“停止”)时退出循环 此代码用于调用一个函数,该函数从my mamp服务器中提取图像,并在钛合金中创建一个新窗口,在该窗口中显示图像: setInterval(function(){call();}, 3000); 但是,当我试着更进一步时,它不起作用 var keepGoing;

我认为这应该是一件容易的事,但我已经不知所措了

我创建了一个应用程序,根据延迟“设置间隔”在钛合金屏幕上循环显示图像

它无限期地循环图像,但我想添加一个函数,用户可以在一个时间延迟(循环中的一组迭代次数)或按下按钮(“停止”)时退出循环

此代码用于调用一个函数,该函数从my mamp服务器中提取图像,并在钛合金中创建一个新窗口,在该窗口中显示图像:

setInterval(function(){call();}, 3000);
但是,当我试着更进一步时,它不起作用

var keepGoing;
do {
setInterval(function(){call();}, 3000);
}
while (keepGoing);

function stop(e){
return keepGoing = false;
}
从我的xml调用函数“stop”,如下所示:

<Button id="stop" onClick="stop">stop</Button>
使其循环一次,然后停止工作


任何想法都将不胜感激

您需要这样的图案:

function loop () {
    call();   
    if (keepGoing) {
        setTimeout(loop, 3000);
    }
}
loop();
顺便说一句,为什么下面的代码不起作用是采访中的一个热门问题(我被问了好几次)


诀窍是,传递到这里的
setInterval
函数有时会在3s后调用,但前提是主线程空闲。它永远不会是自由的——它在做无限循环。

你需要这样的模式:

function loop () {
    call();   
    if (keepGoing) {
        setTimeout(loop, 3000);
    }
}
loop();
顺便说一句,为什么下面的代码不起作用是采访中的一个热门问题(我被问了好几次)


诀窍是,传递到这里的
setInterval
函数有时会在3s后调用,但前提是主线程空闲。它永远不会是自由的——它在做无限循环。

你需要这样的模式:

function loop () {
    call();   
    if (keepGoing) {
        setTimeout(loop, 3000);
    }
}
loop();
顺便说一句,为什么下面的代码不起作用是采访中的一个热门问题(我被问了好几次)


诀窍是,传递到这里的
setInterval
函数有时会在3s后调用,但前提是主线程空闲。它永远不会是自由的——它在做无限循环。

你需要这样的模式:

function loop () {
    call();   
    if (keepGoing) {
        setTimeout(loop, 3000);
    }
}
loop();
顺便说一句,为什么下面的代码不起作用是采访中的一个热门问题(我被问了好几次)


诀窍是,传递到这里的
setInterval
函数有时会在3s后调用,但前提是主线程空闲。它永远不会是自由的——它在做无限循环。

一旦你开始
setInterval
它就会进入无限循环。如果要停止
setInterval
,只需调用
clearInterval

var interval;

interval = setInterval(function(){call();}, 3000);

function stop(e){
    clearInterval(interval);
}

这就完成了我的工作。

一旦开始
setInterval
它将进入无限循环。如果要停止
setInterval
,只需调用
clearInterval

var interval;

interval = setInterval(function(){call();}, 3000);

function stop(e){
    clearInterval(interval);
}

这就完成了我的工作。

一旦开始
setInterval
它将进入无限循环。如果要停止
setInterval
,只需调用
clearInterval

var interval;

interval = setInterval(function(){call();}, 3000);

function stop(e){
    clearInterval(interval);
}

这就完成了我的工作。

一旦开始
setInterval
它将进入无限循环。如果要停止
setInterval
,只需调用
clearInterval

var interval;

interval = setInterval(function(){call();}, 3000);

function stop(e){
    clearInterval(interval);
}
这已经完成了我的工作