Javascript 如何在Node.js/Express/MongoDB应用程序中将标记转换为HTML
我有这段代码,它工作得很好;然而,这个设计好吗?我担心res.send()在for循环有机会完成之前执行Javascript 如何在Node.js/Express/MongoDB应用程序中将标记转换为HTML,javascript,node.js,Javascript,Node.js,我有这段代码,它工作得很好;然而,这个设计好吗?我担心res.send()在for循环有机会完成之前执行 app.get('/api/ideas', function(req, res) { var query = Idea.find({ status: 'published' }, 'title slug status body pub_date').sort({pub_date: -1}); query.exec(function(err, ideas){
app.get('/api/ideas', function(req, res) {
var query = Idea.find({ status: 'published' }, 'title slug status body pub_date').sort({pub_date: -1});
query.exec(function(err, ideas){
for(i in ideas) {
ideas[i].body = markdown.toHTML(ideas[i].body);
}
res.send(ideas);
});
});
我不确定toHTML方法是什么,但您需要看看它是同步调用还是异步调用。如果它是同步的,那么您的设计是完美的,res.send将只在for循环完成后执行。如果它是异步的,那么这将不起作用,send将在for循环完成之前执行。啊,它是异步的,所以我的代码应该可以运行了。此外,如果您有更好的标题的想法,将不胜感激。恐怕这个标题对未来潜在读者的承诺会比它所保证的更多。