Param在Express中为嵌套路由parsing两次

当我为下面的代码做GET http://localhost:8080/messages/3/sentiments为什么param方法被调用两次? 所以如果我有10条路线,那么会被称为10倍?

 var comments = new Router(); comments.get('/comments', function (req, res, next) { res.send('Comments by message_id=' + req.message._id); }) var sentiments = new Router(); sentiments.get('/sentiments', function (req, res, next) { res.send('Comments by message_id=' + req.message._id); }) var messages = new Router(); messages.param('_message', function (req, res, next, _id) { console.log("Set message"); fs.readFile(__filename, function () { req.message = { _id: _id }; next(); }); }) messages.use('/messages/:_message/', comments); messages.use('/messages/:_message/', sentiments); app.use(messages); app.listen(8080); 

确认是Express <4.3中的一个错误

https://github.com/visionmedia/express/issues/2121