重定向后是否需要 return; 语句,如下面的示例代码所示:
if (!findUser(req.body.user)) {
res.redirect("/gadda/login/?error=Unable to find user");
return; // IS THIS NECESSARY
}
// If the above "if" statement is executed (i.e unable to find user) then there is no point in checking the password.
if (user_document.password === req.body.password) {
res.redirect('http://' + req.headers.host + '/foo/bar');
return; // IS THIS NECESSARY
}
答案 0 :(得分:1)
不,没有必要,但做这样的事情很常见。
我相信那些返回语句只是在重定向发送后终止代码块的流程。您通常会这样做,因为您刚刚向客户端发送了重定向(即响应),因此您的工作已完成。您希望避免意外向客户端发送第二个响应(如果这样做,您将收到错误),因此结束流程通常可以确保这一点。但是,您可以在重定向后继续工作,但是您应该注意代码如何流动以避免双响应发送。