app.get('/', (req, res, next) => {
if (true) {
next('route');
} else {
next();
}
}, (req, res) => {
console.log('false일때 실행되는 route') //false일떄
});
//true일때 실행되는 route
app.get('/', (req, res) => {
res.send('Hello, Express');
});
조건문과 next()
를 활용하여 동일 Endpoint여도 조건에 따라 동작을 다르게 할 수 있다.(=router를 분기할 수 있다.) 조건이 true일때는 next('route')
로 route단 단계로 넘어가게 해서 그 다음 route부터 라우터를 찾을 수 있게 하고 false일 경우의 else 문 안의 next()
로 같은 함수 내에 있는 console.log
가 실행된다. 동일 endpoint에서 조건에 따라 동작을 달리하고 싶을 때 응용하여 활용하면 코드의 중복을 줄일 수 있다.