2017-09-21 12 views

答えて

0

将来の関数の実行をスケジュールするには、setTimeout()関数を使用してください。 次の例では動作しますが、具体的にあなたが10の後に間隔をクリアするsetTimeout()を使用して、Hello World各2秒の印刷に使用setInterval()

function myFunc(arg) { 
    console.log(`${arg}`); 
} 

setTimeout(myFunc, 2000, 'Hello world'); 
setTimeout(myFunc, 4000, 'Hello world'); 
setTimeout(myFunc, 6000, 'Hello world'); 
setTimeout(myFunc, 8000, 'Hello world'); 
setTimeout(myFunc, 10000, 'Hello world'); 
+0

ありがとうが、10秒が変化してもよいです。 – MohammedAshrafali

+0

あなたは歓迎ですが、間違っています、私の友人:x秒は異なるかもしれません、10秒は不変です – mrq

3

をあなたの宿題を行うためにそれを使用する場合は、悪い評価を得ることを確認するために書かれています秒。

var interval = setInterval(function(){ 
 
    console.log('Hello World'); 
 
}, 2000); 
 
setTimeout(function() { 
 
    clearInterval(interval); 
 
}, 10000);

+1

ありがとうございました。しかし、問題はそれが10000値でクリアされたそれだけで4回印刷されます。 – MohammedAshrafali

+0

消去されたものは?コードスニペットコンソールに5回印刷しています。 –

2
var i=0; 

var abc=setInterval(function(){ 
    i=i+1; 
    console.log('Hello World'+i); 
    if(i==4)clearInterval(abc) 
}, 2000); 
1
var noTimeout = 2000; 
var newTime = 0; 
var maxTime = 10000; 

function next(timeout) { 
    if (timeout == undefined) 
     timeout = noTimeout 
    setTimeout(processAuto, timeout); 
} 

function processAuto() { 
    console.log("Hello world") 
    newTime = newTime + noTimeout; 
    if (newTime >= maxTime) { 
     process.exit(0); 
    } else { 
     next(noTimeout); 
    } 
} 
processAuto(); 
0

これは私にprocess.hrtime()方法でプレーする機会を与えてくれます。

let currentTime 
let counter = 0 

while (counter < 10) { 
    if (counter === 0 || currentTime !== (currentTime = process.hrtime()[0])) { 
    if (counter++ % 2) console.log("Hello world") 
    } 
} 
関連する問題