서버 사용자가 2 초 후에 response.end()
에 전화하지 않은 경우 408
응답을 보내는 net
모듈 (숙제)을 기반으로 약간의 동적 HTTP 서버를 작성했습니다.setTimeout이 nodeJS에서 작동하지 않습니다.
아무리 노력해도 기능이 호출되지 않습니다. 여기에 내가 내 프로그램에서 할 노력 무엇을 보여 다른 코드입니다 :
var NET = require("net");
var server = NET.createServer(function(socket){
console.log("In connectionHandler");
socket.on('data',function(data) {
console.log("New data");
var timer = setTimeout(function(end){
console.log("INSIDE TIMEOUT FUNCTION");
if (end) {
return;
}
throw new ERROR.ServerError('408',' Request Timeout','The \
server has timedouted');
},10,true);
for (var t = 0 ; t < 100000000000 ; t++){}
clearTimeout(timer);
})
});
server.listen(4000, function() {
console.log("server bound");
});
가 그래서, 제한 시간이 매우 긴 루프 다음에 10 밀리로 설정되어, 아직이 작동하지 않습니다.
왜 이런 일이 발생하고 있습니까?
for (var t = 0; t <100000000000; t ++) {}'- 그게 뭐야? – ThiefMaster
프로세스가 종료되기 전에 콜백 함수를 실행하기 위해 setTimeout 시간을 주려고합니다. – Yotam
활성 대기는 사용자가 아닌 마이크로 컨트롤러를 사용하지 않는 한 항상 끔찍하고 잘못된 것입니다. – ThiefMaster