Node.js多个Mysql查询

Node.js多个Mysql查询,mysql,node.js,Mysql,Node.js,我正在编写用户登记表。在NodeJS中,是否必须编写这样的嵌套代码 var query1 = connection.query('SELECT * FROM table1 WHERE var1 = ?', [var1], function(err, results1) { if(results1[0]) { var query2 = connection.query('SELECT * FROM table2 WHERE var2 = ?', [var2], funct

我正在编写用户登记表。在NodeJS中,是否必须编写这样的嵌套代码

var query1 = connection.query('SELECT * FROM table1 WHERE var1 = ?', [var1], function(err, results1) {

    if(results1[0]) {
        var query2 = connection.query('SELECT * FROM table2 WHERE var2 = ?', [var2], function(err, results2) {

            if(results2[0]) {
                var query3 = connection.query('SELECT * FROM table2 WHERE var3 = ?', [var3], function(err, results3) {

                    if(results3[3]) {
                        // do it.
                    }

                });
            }

        });
    }

});
编写嵌套代码真的很无聊。有没有这样的方法来执行多个查询

var query1 = connection.query('SELECT * FROM table1 WHERE var1 = ?', [var1], function(err, results1) {  });
var query2 = connection.query('SELECT * FROM table1 WHERE var2 = ?', [var2], function(err, results2) {  });
var query3 = connection.query('SELECT * FROM table1 WHERE var3 = ?', [var3], function(err, results3) {  });

if(results1[0]) {

} else if(results2[0]) {

} else if(results3[0]) {

} else {
    // do it.
}

这类问题的一个常见解决方案是使用实用程序模块,如。对于您的特殊情况,您可以使用类似的方法。

我没有问异步问题。。。我刚才问的是像first Blocks那样编写必要的嵌套代码,我的回答是您不必像那样编写嵌套代码,
async
是编写嵌套匿名函数的一种替代方法。谢谢。那么,还有别的办法吗?