나는 같은 Node.js를 코드의 비트 : 내 컴퓨터에서 실행하면 이상한setTimeout이 이전보다 빨리 실행되는 이유는 무엇입니까?
var start = Date.now();
setTimeout(function() {
console.log(Date.now() - start);
for (var i = 0; i < 100000; i++) {
}
}, 1000);
setTimeout(function() {
console.log(Date.now() - start);
}, 2000);
뭔가가 발생합니다. 내가 얻은 시간은 970 ~ 980 사이이고 1970 ~ 1980 사이입니다. 왜 타임 아웃 시간보다 빠른 시간이 있습니까?
어떤 브라우저에서 볼 수 있습니까? Safari는 Chrome 및 Firefox와 비슷한 1002 및 2001과 같은 숫자를 반환합니다. – RobG
우선 'for' 루프를 제거해야합니다. JS에서 이와 같은 구문을 사용하는 것은 결코 좋은 생각이 아닙니다. JS에서 'sleep'함수에 해당하는 것은 없으며, 그러한 장기 실행 루프를 사용하여 유사한 효과를 만들려고 시도하는 것은 거의 모든 경우에 예측할 수 없거나 신뢰할 수없는 결과를 초래하는 말도 안되는 말입니다. – CBroe
나는 각각 1002와 2002를 얻는다. –