2016-09-20 4 views
-1

안녕하세요 누구나 setInterval 함수를 사용하는 데 문제가 있습니다. 아래의 각 상황에서 10 초로 설정했지만 내부의 기능은 평소와 같이 빨리 실행됩니다. 나는 누군가가 나에게 무엇을 잘못하고 있는지 말해 줄 수있는 자바 스크립트에 새로운가요?SetInterval 함수가 자바 스크립트 코드에서 지연을 생성하지 않습니다

setInterval(function() { 
    if (tempArray.length == 4) { 

    var counter = 0; 
    var sum = 0; 
    //console.log("counting average..."); 

    for (var i = 0; i < tempArray.length; i++) { 
     sum += tempArray[i]; //add each temperature together 
     counter++; 
    } 
    } 

    var average = (sum/counter).toFixed(2); 
    setInterval(function() { 
    var avgString = "Data reveived, the average temperature is " + average + "*C"; 


    console.log(avgString); 
    io.emit('chat message', avgString); 
    }, 10000); 
}, 10000); 
+0

당신은 빠른 속도로 그들은 일반적으로하는 것처럼 무엇을 의미합니까? 간격은 모든 X 시간을 실행하는 것을 의미합니다. 지연 생성에 사용되지 않습니다. 아마도 당신은'setTimeout'을 원할 것입니까? – James

답변

0

var tempArray = [1, 2, 3, 4, 5]; 
 
var counter = 0; 
 
var sum = 0; 
 
var average = 0; 
 
setInterval(function() { 
 
    //console.log("counting average..."); 
 

 
    tempArray = [ 
 
    Math.random() * 10, 
 
    Math.random() * 10, 
 
    Math.random() * 10, 
 
    Math.random() * 10, 
 
    Math.random() * 10 
 
    ]; 
 

 
    for (var i = 0; i < tempArray.length; i++) { 
 
    sum += tempArray[i]; //add each temperature together 
 
    counter++; 
 
    } 
 

 
    average = (sum/counter); 
 
    setTimeout(function() { 
 
    var avgString = "Data reveived, the average temperature is " + (sum/counter) + "*C"; 
 

 
    console.log(avgString); 
 
    }, 1 * 1000); 
 
}, 1 * 2000);

관련 문제