javascript向函数参数添加值

发布于 2024-12-02 04:06:10 字数 378 浏览 2 评论 0原文

我正在尝试向作为 Express js 路由中的参数传递的函数添加一个参数。

这是一条expressjs路线:

app.get('path', someFunc,
function(req, res, next) {
  res.render('layout');
});

那里的函数someFunc接受参数req、res、next。

我想为其添加一个额外的参数。如果我使用 apply 或 call 它似乎会替换所有现有参数。

我希望能够做到:

someFunction (req, res, next, custom) {}

我怎样才能做到这一点?谢谢。

I'm trying to add an argument to a function passed along as an argument in an express js route.

This is an expressjs route:

app.get('path', someFunc,
function(req, res, next) {
  res.render('layout');
});

The function someFunc right there takes the arguments req, res, next.

I want to add an additional argument to it. If I use apply or call it seems to replace all the existing arguments.

I want to be able to do:

someFunction (req, res, next, custom) {}

How can I do this? Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

爱情眠于流年 2024-12-09 04:06:10

我不确定这是最好的方法,但你可以这样做:

var someFunc = function (req, res, next, custom) { console.log(custom); next(); }

app.get('path', 
function (req, res, next) { someFunc(req, res, next, 'custom') },
function(req, res, next) {
    res.render('layout');
});

I am not sure that this is the best way but you could do something like this :

var someFunc = function (req, res, next, custom) { console.log(custom); next(); }

app.get('path', 
function (req, res, next) { someFunc(req, res, next, 'custom') },
function(req, res, next) {
    res.render('layout');
});
倒数 2024-12-09 04:06:10

我会创建这样的路线:

// Inside your routes.js:
module.exports.someRoute = function(myArgument) {
  return function(req, res, next) {
    // Do whatever you want with myArgument.
  };
};

// Inside your app.js:
app.get('path', routes.someRoute({ foo: 1 }));

这样您的路线设置就没有任何逻辑了。

I would create a route like this:

// Inside your routes.js:
module.exports.someRoute = function(myArgument) {
  return function(req, res, next) {
    // Do whatever you want with myArgument.
  };
};

// Inside your app.js:
app.get('path', routes.someRoute({ foo: 1 }));

This way your route setup is clear of any logic.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文