如何从 keystone.js 中的视图重定向

how to redirect from a view in keystone.js

从 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(),还是应该在完全不同的地方执行重定向?

其他信息:我想停止处理,因为没有理由在队列后面进行性能繁重的数据库处理

如果您不需要视图,而只是在满足条件时重定向,您可以这样做:

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
    }

}