【发布时间】:2013-11-22 04:33:43
【问题描述】:
我有一个快速网络应用程序。在应用程序中,我有一条路由可以多次调用数据库。在每次调用期间,如果失败,那么我会将浏览器重定向到一个页面/临时不可用(基本上是一个不会吓到用户的通用错误页面,只是说稍后再试)。
部分伪代码
app.get('/sign-in/twitter', function(req, res, next){
request({
'method' : 'GET',
// BLAH BLAH BLAH CALL TO DATABASE
// DATABASE CALLBACK
function (error, response, body){
if (response.statusCode === 200) {
// DO GOOD STUFF
}
else if (response.statusCode === 404) {
// DO COOL STUFF
}
else {
temporarilyUnavailable(req, res, next);
}
// DO MORE STUFF AND SEND A RESPONSE
}
}
}
部分暂时不可用功能的伪代码
res.set({
'Cache-Control' : 'private, no-cache, no-store, must-revalidate,
'Content-Type' : 'text/plain;charset=utf-8',
}
res.redirect(302, 'https://' + req.host + '/' + url);
TEMPORARILY UNAVAILABLE FUNCTION 中的 res.redirect 不应该阻止任何代码进一步向下执行吗?
【问题讨论】: