我想知道处理嵌套mysql-queries的最佳方式是nodejs。节点Mysql异步多重查询
因此,像这样:
connection.query("SELECT * FROM blogs ORDER BY time DESC", function(err, blogs, fields) {
for (blog in blogs) {
connection.query("SELECT * FROM tags WHERE blog_id='blog.id' ", function(err, tags, fields) {
blog.tags = tags
});
}
res.send(blogs)
});
这显然不起作用,因为的异步性质。在获取标签之前结果已经返回。
我一直在阅读节点和回调和承诺似乎是要走的路。但是我无法看到我在这个小例子中如何最好地使用它们。
Thx!
这将是一个很好的机会开始使用像[Q](https://github.com/kriskowal/q)这样的承诺库,在这种情况下它是['Q.spread']( https://github.com/kriskowal/q#combination)方法(或者[这些简化示例](https://github.com/kriskowal/q#sequences) – Bojangles