快递中间件中的高阶函数

路易斯·恩·马罗昆

无法将参数发送到 JS 中的高阶函数。它没有得到 req 和 res args 的函数

// In router.js

const { getAll } = require('./controller')
router.get('/coordinadores', getAll()('mentor'))

// In controller.js

exports.getAll = (req, res) => {
  return (role) => {
    var filter = { role }
    if (req.user.role == 'mentor') filter = { role, centro: { "$in": req.user.centro } }
    Model.find(filter, '-password -role -__v -createdAt -updatedAt -centro').lean().exec()
      .then(list => { res.status(200).json({ list }) })
      .catch(err => { errorHandler(req, res, err) })
  }
}

// Result
// TypeError: Cannot read property 'user' of undefined

休息时间

这里

router.get('/coordinadores', getAll()('mentor'))

你打电话getAll没有任何参数。要创建一个 HoF,您应该像这样创建它

const getAll = role => (req, res) => {
  // your code 
}

然后

router.get('/coordinadores', getAll('mentor'))

这将调用的getAll函数mentor,它会返回一个函数的引用,将与被调用reqres通过快递

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在autofac中间件中检查构造函数参数

来自分类Dev

烧瓶中的中间件

来自分类Dev

机架中间件中的机架中间件?

来自分类Dev

在 NodeJS/ExpressJS 的中间件中调用中间件

来自分类Dev

路由中的中间件与控制器构造函数中的中间件有什么区别?

来自分类Dev

在中间件中获取路由定义

来自分类Dev

OWIN中间件中的URL重写

来自分类Dev

Express 4中的中间件顺序

来自分类Dev

MVC 6中的Cookie中间件

来自分类Dev

中间件中的Laravel依赖注入

来自分类Dev

在中间件Laravel中获取URL

来自分类Dev

在流明中启用中间件(Laravel)

来自分类Dev

机架中间件中的跟踪错误

来自分类Dev

快速中间件中的异步/等待

来自分类Dev

在中间件中获取路由定义

来自分类Dev

在流明中启用中间件(Laravel)

来自分类Dev

机架中间件中的跟踪错误

来自分类Dev

boot()中的PHP laravel中间件

来自分类Dev

路线:: Auth不在中间件中

来自分类Dev

在中间件中设置Slim容器

来自分类Dev

在中间件中设置标头

来自分类Dev

在 redux 中间件中调用 dispatch

来自分类Dev

在 express 中跳过中间件

来自分类Dev

expressjs中的中间件功能错误

来自分类Dev

节点通行证定制回调可以作为快递路线的中间件吗?

来自分类Dev

为什么我不能在快递路线中使用中间件?

来自分类Dev

节点通行证定制回调可以作为快递路线的中间件吗?

来自分类Dev

您如何在中间件函数中迭代Mongoose模型的属性?

来自分类Dev

使用中间件添加参数以查看Django中的函数