2017-05-22 68 views
0

我有一个函数go()调用另一个,some()时间间隔500毫秒。我怎样才能并行执行它?如果我再次拨打go(),现在只需缩短时间间隔。调用setInterval并行执行

function go() { 
    setInterval(function() { 
     some(massive) 
    }, 500) 
} 
+0

调用go()会添加另一个间隔,每500毫秒执行一次代码。它根本不会改变第一个的间隔。不完全确定你的问题真的在问什么,但也许这与你没有清除间隔的事实有关? – dav

+0

事实上,现在我有 - 当我第二次打电话功能时 - 它的方法有些紧张的时间。但我需要 - 当我第一次调用go()时,它调用方法some()更改数组,并且当第二次调用go()时 - 方法一些开始在并行进程中更改同一个数组。 – user8041161

+0

第二次调用go()函数时,第一次按下它时启动的函数some()不会停止,并行执行第二个some()函数 – user8041161

回答

0

不完全肯定这是你要找的,但它听起来像你需要清除间隔。

考虑下面的代码片段:

var i=0; 
 
var interval=setInterval(function(){ 
 
    console.log(i++); 
 
},500); 
 

 
document.getElementById('clear-interval').onclick=clear; 
 

 
function clear(){ 
 
    clearInterval(interval); 
 
    console.log('interval cleared'); 
 
}
<button id='clear-interval'>Clear Interval</button>

在片段中,代码继续进行,直到明确的()函数被调用执行每500ms。