为了账号安全,请及时绑定邮箱和手机立即绑定

express router.param([name] callback)为什么name传数组多个

express router.param([name] callback)为什么name传数组多个

BIG阳 2019-03-28 22:15:33
const express = require('express')const router = express.Router()const Student = require('../students')router.param(['id','page'], function (req, res, next, value) {    console.log('11', value);    next();  })router.get('/user/:id/:page', function (req, res, next) {    console.log('22');    next();});  router.get('/user/:id/:page', function (req, res) {    console.log('33');    res.end();});//浏览器  http://localhost:3000/user/42/2323//控制台结果[nodemon] restarting due to changes...[nodemon] starting `node app.js`app is running at port 30002233//数组里面只有一个值,或者第一个参数直接传一个paramconst express = require('express')const router = express.Router()const Student = require('../students')router.param(['id'], function (req, res, next, value) {    console.log('11', value);    next();  })router.get('/user/:id', function (req, res, next) {    console.log('22');    next();});  router.get('/user/:id', function (req, res) {    console.log('33');    res.end();});//浏览器  http://localhost:3000/user/42//控制台结果[nodemon] restarting due to changes...[nodemon] restarting due to changes...[nodemon] starting `node app.js`app is running at port 300011 422233不知道为什么 按官方文档来的, 第一个参数传数组且多个param 就进不去,求大佬们帮助下
查看完整描述

1 回答

?
慕姐8265434

TA贡献1813条经验 获得超2个赞

最后发现原因是 router.param 不接受多参数的, 但是express中文文档没人维护 API没更新,引发的错误。


查看完整回答
反对 回复 2019-04-14
  • 1 回答
  • 0 关注
  • 355 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号