2016-06-20 4 views
0
function data(){ 
    var dataval = anyValue; 
    var myVar = setInterval(function(){computeData()}); 
    function computeData(){ 
     //inside this function there will be computations 
     //where dataval is included 
    } 
} 

이것은 단지 예입니다. 내 문제는 내가 dataval의 값을 업데이 트하고 data()를 호출하면 setInterval 함수 내에서 값이 업데이트되지 않는다는 것입니다. 값을 다시 변경하고 data()를 호출하지 않는 한. 그러나 그것은 잘 작동하지 않습니다.setInterval 내의 전역 변수의 범위

anyValue = 10 

// 계산은

// 그때 사용하는 경우 anyValue,

// 그것을 갱신하는 경우가 점감, anyValue = 9 가 // 여전히 값 (10)을 사용하여 작동 = 8, 이제 값 9를 사용합니다.

이것은 사용중인 코드가 아닙니다. 그러나 같은 논리. 감사! 내 질문을 받길 바래! `

+0

실제 코드를 게시 할 수 있습니까? –

+0

문제를 재현 할 수 없습니다. 나는 computeData() fn에서 간단한 dataval + = 100을 수행하고 간격을 1000 밀리 초로 설정했습니다. dataval은 매 초마다 예상대로 증가하고 있습니다. 문제 좀 더 자세히 설명해 주시겠습니까? –

+0

문제를 재현하는 [mcve]를 제공하십시오. – charlietfl

답변

0

데이터 계산 기능을 data() 외부로 옮기고 변수를 허용하도록 설정합니다. 예 : computeData(object) 다음 원하는 개체를 전달하십시오 var myVar = setInterval(function(){computeData(dataval)});