gpt4 book ai didi

javascript - 将参数传递给从另一个 Controller 公开的方法

转载 作者:行者123 更新时间:2023-12-03 05:34:38 25 4
gpt4 key购买 nike

我想将参数传递给 Controller ​​ B 中声明的方法,说它是 conB.js,如下所示

module.exports.verify = function(req,res,next){
// how to get it here?
}

现在我有了 conA.js,我如何向它传递参数?

我知道首先我必须包含它,

var ConB = require('ConB');

但是如何传递参数来验证像 ConB.verify('param') 这样的方法,以便我可以在 ConA.js 中获取它?

最佳答案

不确定我是否理解您要执行的操作,但如果您想使用参数调用 verify,则必须将其定义为接受该参数的函数。所以 conB.js 是:

module.exports.verify = function(param){
// do something with param
return something;
}

然后在 conA.js 中:

var conB = require('./conB.js');
var result = conB.verify(your_param);
<小时/>

评论后更新...

您还可以将不同的 Controller 编写为快速中间件并使用 res.locals 传递参数。请参阅:http://expressjs.com/en/guide/using-middleware.html

在这种情况下,您的应用程序中需要一个按顺序调用中间件的路由:

app.use("/testUrl", consB.verify, cansA.doSomething);

那么 consB.js 是这样的:

module.exports.verify = function(req, res, next){
// do something with param and store something in res.locals
res.locals.user = "foo";
// then remember to call next
next();
}

ConsA.js

module.exports.doSomething = function(req, res, next) {
// use locals modified by previous middleware
res.end("The user of the request is: "+res.locals.user);
}

关于javascript - 将参数传递给从另一个 Controller 公开的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40786349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com