setInterval
次から次へと開始する必要がありsetInterval
ます。約束でこれを行う方法はありますか?
理想的には、コードを次のようにしたいと思います。
for (i=0; i<5; i++){
setInterval(fun_1, 1000)
//wait until this is done
}
setInterval
次から次へと開始する必要がありsetInterval
ます。約束でこれを行う方法はありますか?
理想的には、コードを次のようにしたいと思います。
for (i=0; i<5; i++){
setInterval(fun_1, 1000)
//wait until this is done
}
前の間隔が完了した後、2番目の間隔でカウントダウンを開始することを意味しますか?その場合、あなたは言うでしょう
window.setTimeout(fun_1, 1000);
function fun_1
{
window.setTimeout(fun_2, 1000);
}
これにより、最初のタイムアウトが完了した後、2番目のタイムアウトのカウントダウンが開始されます。
最初の間隔が完了した後、次の間隔を呼び出す必要があります
var cnt = 0;
function executeNextStep(){
fun_1();
if (cnt<5) {
window.setTimeout(executeNextStep,1000);
}
cnt++;
}
executeNextStep(); //execute this right away
//window.setTimeout(executeNextStep,1000); use this if you want it to be delayed
さまざまな機能を実行する必要がある場合:
function fun_1() {
console.log(1);
}
function fun_2() {
console.log(2);
}
function fun_3() {
console.log(3);
}
var fnc_stack = [fun_1, fun_2, fun_3];
var cnt = 0;
function executeNextStep(){
fnc_stack[cnt]();
cnt++;
if (cnt<fnc_stack.length) {
window.setTimeout(executeNextStep,1000);
}
}
executeNextStep();
は、オブジェクトsetInterval
が作成されるまで、指定された時間間隔の後に提供された関数を呼び出しclear
ます。So you do not need a loop for this
。use a counter
カウンターが希望の値に達した後、それを終了することができます。
var myInter;
i = 1;
function fun_1()
{
// some code
if(i++==5)
clearInterval(myInter);
}
myInter = setInterval(fun_1, 1000);