컴퓨터/JavaScript

express router의 next() 관련...

SOOSIN 2020. 9. 25. 21:48

express의 router() 함수의 next 인자는 주로 미들웨어에서 사용되는데, 

이 함수를 실행하면 다음 미들웨어로 넘어가는 역할을 한다. 

//console log가 실행됨
var myLogger = function (req, res, next) {
  next();
  console.log('LOGGED');
};  
//console log가 실행되지 않음
var myLogger = function (req, res, next) {
  return next();
  console.log('LOGGED');
};  

그러나 next() 하단에 코드를 남길 경우, next()로 넘어간 후에도 남은 코드들이 실행된다.

이를 방지하기 위해서는 아래처럼 return을 붙여주면 된다.