如果我在调用函数时确定的参数为true,我想停止执行。那可能吗? 我发现这样做的唯一方法是在check函数中返回一个布尔值,并依赖于它在router.get中是否返回。
router.get('/', function(req, res){
check(req, res, true);
console.log(1);
res.render('page1', {});
});
function check (req,res,param = false){
if (param){
res.render('page2');
// Stop it here
}
else {
return("hi");
}
}
答案 0 :(得分:0)
类似这样的事情(如果您设置了参数true
,我假设函数check_param返回param
)。
router.get('/',[function(req,res,next) {
if (check_param()) {
res.render('page2');
}
else {
next();
}
},function(req,res) {
res.render('page1',{});
}])
答案 1 :(得分:0)
您可以创建一个中间件并在其中添加参数检查逻辑,以便可以将其用于多个路由。
router.get('/', check, function(req, res){
res.render('page1', {});
});
function check (req, res, next){
if (req.param){
res.render('page2');
}
else {
next()
}
}