const express = require('express');
const app = express();
app.get('/',(req,res,next)=>{
console.log('1');
},
(req,res,next)=>{
console.log('1.1');
});
app.get('/',(req,res,next)=>{
console.log('2');
})
app.listen(8080);
실행하면 1밖에 콘솔 출력이 안된다.
response나 next를 사용하지 않아 서버가 반응을 하지 않는다.
const express = require('express');
const app = express();
app.get('/',(req,res,next)=>{
console.log('1');
next();
},
(req,res,next)=>{
console.log('1.1');
});
app.get('/',(req,res,next)=>{
console.log('2');
})
app.listen(8080);
next()를 통해 다음 대상인 1.1이 출력된다.
const express = require('express');
const app = express();
app.get('/',(req,res,next)=>{
console.log('1');
next('route');
},
(req,res,next)=>{
console.log('1.1');
});
app.get('/',(req,res,next)=>{
console.log('2');
})
app.listen(8080);
현재 경로에서 다음 미들웨어로 넘어가게 하는
next('route')에 의해 결과가 1.1 결과를 제외한 1,2가 출력된다.
에러에 대해서는
app.use
를 통해 다룰 수 있다.
app.use((error,req,res,next)=>{
console.error(error);
res.status(500).send('error occurs');
})
app.use는 첫번째 매개변수의 url 및 해당 url의 하위 url부분까지 처리가 진행되나
app.all은 첫번째 매개변수의 url에서만 처리가 진행된다.