如何向Express.js路由发送多个参数?

时间:2015-11-22 08:44:47

标签: node.js express

假设我想添加多个参数。

这是代码

function firstArgument(req, res, next) {
    // Do something
}

function secondArgument(req, res, next) {
    // Do something
}


app.get('/something', firstArgument, secondArgument, function(req, res, next) {
// Is it possible to do this?
});

有可能吗?如果是这样,它是如何工作的?任何人都可以向我解释。

谢谢

1 个答案:

答案 0 :(得分:1)

所有答案都在明文档中 - http://expressjs.com/es/guide/routing.html

总结一下,对于您的场景,您可以使用:

var cb0 = function (req, res, next) {
  console.log('CB0')
  next()
}

var cb1 = function (req, res, next) {
  console.log('CB1')
  next()
}

app.get('/example/d', [cb0, cb1], function (req, res, next) {
  console.log('response will be sent by the next function ...')
  next()
}, function (req, res) {
  res.send('Hello from D!')
})

或者,没有第二种方法。

   var cb0 = function (req, res, next) {
      console.log('CB0')
      next()
    }

    var cb1 = function (req, res, next) {
      console.log('CB1')
      next()
    }

    app.get('/example/d', [cb0, cb1], function (req, res) {
      res.send('Hello from D!')
    })

关于它是如何工作的 - 它只是依次运行所有方法:当调用next()方法时,将调用下一个方法。