CNode

如果一个action中有多次查询,conn.end是写在哪个回调里面?

Yyakczh发布于13 年前最后回复13 年前4 回复5097 浏览0 收藏

比如

var mysql  = require('mysql'); 
var conn = mysql.createConnection(param);
conn.query("查询1",function(err,data){ });
conn.query("查询2",function(err,data){ });
conn.query("查询3",function(err,data){ });
查看回复

回复 (4)

L
leapon#1·13 年前

用 async 管理多个查询,都执行完了再 call conn.end

J
JacksonTian#2·13 年前
var EventProxy = require('eventproxy');
var ep = new EventProxy();
ep.all('sql1', 'sql2', 'sql3', function (data1, data2, data3) {
    // 成功回调
});
// 添加error handler
ep.fail(callback);
var mysql  = require('mysql'); 
var conn = mysql.createConnection(param);
conn.query("查询1",ep.done('sql1'));
conn.query("查询2",ep.done('sql2'));
conn.query("查询3",ep.done('sql3'));
H
hexie#3·13 年前

我也来一段async

var async = require('async');

var mysql  = require('mysql'); 
var conn = mysql.createConnection(param); 

var sqls = ['查询1',"查询2",“查询3”]; 
async.mapSeries(sqls,function(sql,callback){
     conn.query(sql,callback);
},function(err,res){
//所有任务完成后,结果都在这里,res是结果
})
H
hexie#4·13 年前
引用 hexie我也来一段async var async = require('async'); var mysql = require('mysql'); var conn = mysql.createCo...

var async = require('async');

var mysql = require('mysql'); var conn = mysql.createConnection(param);

var sqls = ['查询1',"查询2","查询3"]; async.mapSeries(sqls,function(sql,callback){ conn.query(sql,callback); },function(err,res){ //所有任务完成后,结果都在这里,res是结果 })

参与回复
登录后即可参与回复。登录