我想知道處理嵌套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