0
我有这种方法用于查询数据库上的一行事件。我如何知道所有行何时迭代完成?我从哪个点返回此查询中的数据?
我不确定何时返回所有行已处理。下面的代码似乎会导致问题。
getData : function(data){
var connection = new Connection(config);
var newdata = [];
var dataset = [];
connection.on('connect', function(err) {
var sql = "SELECT * FROM dbo."+data.entity+" WHERE "+data.field+" LIKE '%"+data.params+"%'";
var Request = require('tedious').Request;
var request = new Request(sql, function (err, rowCount) {
if (err) {
return false;
} else {
if (rowCount < 1) {
return false;
}
}
});
request.on('row', function(columns) {
columns.forEach(function(column) {
dataset.push({
col: column.metadata.colName,
val: column.value
});
});
newdata.push(dataset);
});
request.on('done', function(){
//connection.close();
return newdata;
})
connection.execSql(request);
});
},
任何帮助表示赞赏!