developer tip

res.end ()는 node.js를 사용하여 express에서 호출해야합니까?

copycodes 2020. 9. 25. 08:00
반응형

res.end ()는 node.js를 사용하여 express에서 호출해야합니까?


Express 응용 프로그램 이 여러 개 있는데 일부 모듈에서는 res.end()요청 처리기의 끝 ( res.send또는 이후 res.json)에서 호출되는 반면 다른 모듈에서는 호출 되지 않습니다.

예를 들면 :

app.get('/test', function(req, res) {
    res.send('Test', 200);
});

또는:

app.get('/test', function(req, res) {
    res.send('Test', 200);
    res.end();
});

두 경우 모두 작동하지만 많은 요청을 실행할 때 누수 또는 파일 설명자 실행 등이 두렵습니다. 어느 것이 "더 정확"합니까?


귀하의 질문에 대한 대답은 아니오입니다. 전화 res.end()하면 전화 필요가 없습니다 res.send(). 당신을 res.send()부릅니다 res.end().

/lib/response.js 에서 가져 왔으며 다음은 res.send()함수 의 끝입니다 .

  //. . .
  // respond
  this.end(head ? null : body);
  return this;
}

end () 함수를 호출해야하는 한 가지 예는 버퍼를 다운로드 할 파일로 보내는 경우입니다.

res.write(buffer);
res.end();

res.end([data] [, encoding])

응답 프로세스를 종료합니다. 이 방법은 실제로 Node core , 특히 response.end() method of http.ServerResponse.데이터없이 응답을 빠르게 종료하는 데 사용합니다.

데이터로 응답해야하는 경우 대신 다음과 같은 방법을 사용하십시오. res.send() and res.json().

참고 URL : https://stackoverflow.com/questions/20355136/must-res-end-be-called-in-express-with-node-js

반응형