다이어그램 |
요약
하나의 Router Path에 여러개의 callback이 등록될 수 있으며 next() 함수를 통해 제어한다.
res.send() 함수를 호출하여 응답이 완료된 뒤에도, 후행의 callback은 실행될 수 있다.
소스코드 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| //! Express Web-Server Conf. | |
| let express = require('express'); | |
| let http = require('http'); | |
| let app = express(); | |
| app.set('port', 80); | |
| //! Define Router callback. | |
| let response = ""; | |
| let callback0 = (req, res, next) => | |
| { | |
| response += "A"; | |
| next(); | |
| }; | |
| let callback1 = (req, res, next) => | |
| { | |
| response += "B"; | |
| next(); | |
| }; | |
| let callback2 = (req, res, next) => | |
| { | |
| response += "C"; | |
| res.send(response); | |
| next(); | |
| }; | |
| let callback3 = (req, res, next) => | |
| { | |
| response = ""; | |
| }; | |
| //! Router Conf. | |
| let router1 = express.Router(); | |
| router1.route('/').get([callback0, callback1, callback2, callback3]); //! with callback array. | |
| //! Apply router, and then start. | |
| app.use('/' , router1); | |
| http.createServer(app).listen(app.get('port'), ()=> | |
| { | |
| // on success callback. | |
| console.log("Start Server..."); | |
| }); | |
실행결과 |
localhost/ -> ABC
'# 미사용' 카테고리의 다른 글
| [백준 1149] RGB 거리 풀이노트 (0) | 2018.07.11 |
|---|---|
| [백준 1003] 피보나치 함수 풀이노트 (0) | 2018.07.11 |
| Router : 여러개의 라우터가 호출될때 (0) | 2018.06.28 |
| Router : 재사용 가능성 (0) | 2018.06.28 |
| 오라클 Redo (0) | 2018.05.21 |