【发布时间】:2014-08-28 08:42:37
【问题描述】:
我刚开始接触node.js和express.js,有一些小问题希望有人能解答。
在我的路线中,我有以下代码
router.get('/:slug', function(req, res) {
var subject = req.params.slug;
var subjectTitle ='';
var db = req.db;
db.collection('subjects').findOne({slug:subject}, function(err, result) {
console.log(result);
console.log(result.title);
subjectTitle = result.title;
});
res.render('subject', { title: subject});
});
我不明白如何在调用它的函数之外访问 db 调用的结果。
理想情况下,我想将 result.title 作为主题发送回渲染调用。
任何帮助都会很棒
谢谢
【问题讨论】:
-
db.collection 是异步函数调用,你应该把
res.render('subject', { title: subject});放入function(err, result){...}