3

一連のアクションを一度実行するミドルウェアがあり、新しいリクエストが到着したときにそれをもう使用したくありません。ミドルウェアをスタックから削除する方法はありますか?

ありがとう、リー

4

1 に答える 1

3

はいあります。このことを考慮:

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);

これをシンボリックコードとして扱います。テストする機会はありませんが、概念はそこにあります...

于 2012-10-25T10:33:38.773 に答える