Node.js多个Mysql查询

时间:2014-08-28 21:58:48

标签: mysql node.js

我正在编写用户注册表单。在node-js node mysql plugin中,我是否必须编写这样的嵌套代码?

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.
}

1 个答案:

答案 0 :(得分:0)

这类问题的常见解决方案是使用像async这样的实用程序模块。对于您的特定情况,您可能会使用类似async.waterfall的内容。