在keystone.js视图中重定向的正确方法是什么?
我有这个用例:
//req, res are the express request and response objects defined earlier
view.on('init', function(next){
if (req.params['should-be-else-where']='true'{
// do some logging stuff
// redirect to somewhere else
}
});
据我所知,view.on()
函数中的下一个参数是async.js框架的回调,与(req,res,next)中间件无关。
我应该拨打res.redirect('/somewhere-else)
然后拨打next()
,然后使用非空错误参数调用next()
,还是应该在完全不同的地方执行重定向?
其他信息:我想停止处理,因为没有理由在队列中稍后执行性能繁重的数据库处理
答案 0 :(得分:1)
如果您不需要视图,但只有在满足条件时才重定向,您可以这样做:
module.exports = function (req, res, next) {
if (req.params['should-be-else-where']) {
// do some logging stuff
res.redirect('/somewhere-else');
} else {
var view = new keystone.View(req, res);
// do something else then render the view
}
}