next의 사용법

YJS·2022년 7월 5일
0

Node JS 프로젝트

목록 보기
4/4
post-thumbnail

😵‍💫Express에서 사용하는 미들웨어 함수

미들웨어 함수는 요청 오브젝트(req), 응답 오브젝트 (res), 그리고 애플리케이션의 요청-응답 주기 중 그 다음의 미들웨어 함수 대한 액세스 권한을 갖는 함수. 그 다음의 미들웨어 함수는 일반적으로 next라는 이름의 변수로 표시됨


출처: https://expressjs.com/ko/guide/writing-middleware.html

-> next 함수를 호출하면 앱 내의 그 다음 미들웨어 함수가 호출됨. next() 함수는 미들웨어 함수에 전달되는 세번째 인수.

// step1.js
var express = require('express');
var router = express.Router();

router.get('/', function(req, res, next) {
    console.log('step1');
    next();
});

module.exports = router;

// step2.js
var express = require('express');
var router = express.Router();

router.get('/', function (req, res, next) {
    console.log('step2');
    res.send('respond with a resource');
});

module.exports = router;

//app.js
var step1 = require('./routes/step1');
var step2 = require('./routes/step2');
app.use('/users', step1, step2);

-> 실행결과 step1이 우선 실행. 그 다음에 step2가 실행.
-> next는 다음 router로 넘기는 역할.
-> step1에 도달하고 나면 step1 메세지를 출력하고 next()함수를 호출하여 스택 내의 그 다음 미들웨어 함수에 요청을 전달.

profile
우당탕탕 개발 일기

0개의 댓글