在路由中重用逻辑,nodejs表达

时间:2017-06-02 16:06:50

标签: node.js express routes

我有一条路线在进行大量处理以显示视图,数据库查询和解析等等。

我想重新使用'在视图中显示的那条路线的处理。仅仅使用视图的res.render是不够的。

我很难解释我之后的确切内容 - 实际上我正在努力避免重复代码。

router.get('/edit/:id', function(req, res) {
  ..lots of processing...    

    res.render('pages/campaigns/edit-campaign', {
        ...vars for handlebars...
    });
});    

router.all('/add/confirmation', function(req, res) {
    ... i have the data i need here, but not the processing ...
    res.render('pages/campaigns/edit-campaign-new', {
        ...vars...
    });
});

1 个答案:

答案 0 :(得分:1)

设置一个中间件来执行该处理,并可选择将处理结果传递给处理程序,如果您想在处理程序中使用它们。