2017-12-28 19 views
-4

JavaScriptでタイマーベースのループを設定したい。JavaScriptのループ設定タイマー

for (var i = 0; i < 20; i++) { 
    console.log(i) 
} 

私はこのループを毎秒を繰り返し、i(カウンタ)の値を表示することができますどのように?

+0

使用 'setInterval'または' setTimeout'だけではなく他の人のような 'for'ループ – user184994

+4

はそれを行っているが、彼らは[documentation](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers)を読んでください。 – Teemu

+1

あなたの質問は、あなたがGoogleにいかに嫌なのかを完全に実証します! –

答えて

1

あなたのループを制御したい場合は、再帰

var i = 0; 
function callMe() { 
    var timetowait = 100; 
    // some condition and more login 
i++; 
if(i < 20) { 
    setTimeout(callMe, timetowait); 
} 

} 

callMe(); 
0

とsetTimeoutを組み合わせることができ、時間を待って、私は、これはあなたが探しているものだと思う:

var counter = 0; 
setInterval(function(){ 
    console.log(counter); 
    counter++; 
},1000); 
+0

20の制限はどうですか? – Teemu

0
var i = 0; 
function myFunc() { 
console.log(i); 
i++; 
if(i == 20) { 
    clearInterval(interval); 
    } 
} 
var interval = setInterval(myFunc, 1000); 

たsetInterval()メソッドは-指定された間隔(ミリ秒単位)で関数を呼び出したり、式を評価したりします。

setInterval()メソッドは、clearInterval()が呼び出されるまで、またはウィンドウが閉じられるまで関数を呼び出し続けます。

+0

20が近くに来たら、もっと面白いですか? – Teemu

+0

yeaは私が20になったときにclearIntervalを呼び出すことができます。私は答えを編集します –

+0

OPには 'i <20' ... – Teemu

0

あなたもこの方法を試すことができます。

function loop(start, end, delay, fn) { 
    if (start > end) return;  

    function step(){ 
     // callback fn with current iteration and 
     // recursively calls loop 
     fn(start); 
     loop(start + 1, end, delay, fn); 
    } 

    setTimeout(step, delay); 
} 

用法:

loop(1, 20, 1000, console.log) 
関連する問題