[NodeJS]:在路由之后重定向>在重定向之前调用的函数>我们可以在函数调用之后重定向吗?

时间:2018-11-01 10:59:22

标签: node.js express redirect routing

我的路线如下,

router.get('/startjob', function(req, res) {
    var = "one";
    start();
    res.redirect('/');
}

我的启动功能经过一个循环,需要重定向到主页,

start(){
    check = setInterval(function(){
        if(//condition){
            var = "two";
            clearInterval(check);
            // redirect to '/'
        }
    },5000);
}

为什么要进行两次重定向是因为,我想在路由之后以及start()函数结束时立即刷新主页上呈现的变量

router.get('/', function(req, res) {
    res.render('index', { 
            title: 'Home',
            value: var
        });
}

由于我已经在函数结束之前在路由中进行了重定向,所以我无法重定向到函数内部的首页。

我能找到的唯一解决方案是不要在函数内进行重定向并使页面每5秒钟左右刷新一次,我觉得这很不错。

函数内部是否也可以进行重定向?

谢谢。

1 个答案:

答案 0 :(得分:0)

我可以从您的问题中推断出,您想在start()函数的开始和结尾处重定向到新页面。让我知道以下内容是否有效。

router.get('/startjob', function(req, res) {
    var = "one";
    start(res);       
}

start(res){
    res.redirect('/');
    check = setInterval(function(){
        if(//condition){
            var = "two";
            clearInterval(check);
            res.redirect('/');
        }
    },5000);
}