我想写重定向我所有Http
请求Https
代码后,现在我想问问我看到下面的代码在许多不同的网站,但他们中的一些使用return
与res.redirect
,有些使用return
after
res.redirect
,有些不使用任何东西,有的只使用next()
after
res.redirect
。使用返回或下一个呼叫res.redirect
我只想问一下return
有什么用,或者在这里打电话next()
。或者我错过了什么?
app.use(function(req,res,next) {
if(req.headers["x-forwarded-proto"] == "http") {
console.log('Request was HTTP');
/* return ??*/ res.redirect("https://" + req.headers.host + req.url);
// return or next() or nothing ??.
} else {
console.log('Request was not HTTP');
return next();
}
});
由于您使用'if/else',所以您不需要返回。但是许多开发人员总是使用返回来明确代码已完成并防止其他代码意外运行。由于你的代码在你的条件之后什么也不做,所以return不是_needed_。但是,在完成res.redirect后,你应该永远不要调用'next'。 – Intervalia