【发布时间】:2016-12-01 15:06:36
【问题描述】:
我正在尝试为我的 node.js & express 应用程序编写路由,但遇到了一点问题。
逻辑是这样的:
- 用户进入带有特殊标签ID
/6758HDE的网站 - 如果标签已经存在,我会在数据库中进行异步检查
- 如果标签存在,我会滚动新的唯一标签并用它设置网址
- 如果标签不存在我允许当前标签并用它设置网址
到目前为止,这是我的代码:
app.get('/*', function(req, res) {
check_in_db(req.url, function(result) {
if(result) {
res.sendFile(__dirname + '/index.html');
} else {
res.redirect('/' + roll_new_id());
}
});
});
我猜代码不起作用,因为它执行异步数据库搜索,而标题必须立即发送,我记得有类似 next() 的东西来处理这种情况,但我的知识很薄弱,也许有人可以为我指明正确的方向并展示如何更改我的代码,使其按预期工作。
【问题讨论】:
-
重定向后为什么不尝试下一步?如果它是异步的,它也应该到达那里。
标签: javascript node.js express routing