3
일련의 작업을 한 번 실행 한 다음 새 요청이 도착하면 더 이상 사용하지 않으려는 미들웨어가 있습니다. 미들웨어를 스택에서 제거 할 수있는 방법이 있습니까?nodejs : 미들웨어가 스택에서 스스로를 제거해야합니다.
감사합니다, 리
일련의 작업을 한 번 실행 한 다음 새 요청이 도착하면 더 이상 사용하지 않으려는 미들웨어가 있습니다. 미들웨어를 스택에서 제거 할 수있는 방법이 있습니까?nodejs : 미들웨어가 스택에서 스스로를 제거해야합니다.
감사합니다, 리
예, 있습니다. 이것을 고려하십시오 :
var app = require('express')();
function myHandler(req, res, next) {
//do something usefull
//locate this handler
var handlerIndex = -1;
for(var i =0; i < app.stack.length; i++) {
if (app.stack[i].handle === myHandler) {
handlerIndex = i;
}
}
if (handlerIndex > -1) {
app.stack.splice(handlerIndex, 1);
}
next();
});
app.use("/api", myHandler);
취급이 상징적 코드, 나는 그것을 테스트 할 기회를하지 않은하지만 개념이 ...
을 나는이 작업을 수행하는 방법에 내장 아니, 당신은 할 수 없다 생각 플래그를 설정하고 플래그가 설정된 경우 next()를 호출하십시오. – pfried
미들웨어를 표현/연결하는 것을 말하고 있습니까? –