我有一个节点应用程序点击postgres,在我的一个函数中,我需要能够查询许多表来获取数据以便我的json发送回来。鉴于nodejs的性质,最好的方法是什么,我想避免多级嵌套回调?我一直在四处寻找,但我并没有很好地理解这个概念。
答案 0 :(得分:0)
这取决于您的查询性质,如果您需要它们一个接一个地执行,或者并行执行,在一个地方收集所有结果/错误。
避免嵌套回调地狱的典型方法是使用async库(和series,parallel函数)或它的类似物。
这将是这样的:
async.parallel([
function(callback) {
db.query(..., callback);
},
function(callback) {
db.query(..., callback);
}
],
function(err, results) {
// results is array containing array of results of your queries
});
有关详细信息和示例,请参阅async文档。