【发布时间】:2015-06-05 10:40:44
【问题描述】:
我对 node.js /sails.js 相当陌生,遇到了一个问题,我知道答案很简单,但我似乎无法解决。
我的代码如下
SendCompleted : function(req,res)
{
var updated = 0;
var params = req.params.all();
var dt = JSON.parse(decodeURI(params.id));
var connection = new sql.Connection(testrmis, function (err)
{
if (err) {
}
for(var i = 0; i < dt.length; i++) {
var obj = dt[i];
var request = new sql.Request(connection);
request.stream = true;
request.input('branchid', sql.Int(), obj.branch_id);
request.input('picklistid', sql.Int(), obj.picklist_id);
request.input('scanned',sql.Int(),obj.scanned);
request.input('expected', sql.Int(),obj.expected);
request.input('poscode', sql.VarChar(),obj.poscode);
request.input('label', sql.VarChar(), obj.label);
request.input('dt', sql.VarChar(), obj.dt);
request.execute('WAREHOUSE_InsertPiPackData');
request.on('done', function(returnValue) {
updated = updated + returnValue;
console.log(updated);
});
}
res.send("[{\"ReturnValue\":" + updated + "}]");
});
}
我正在发送 4 行结果,并且我的 console.log(updated) 对每一行进行计数,例如 1,2,3,4
但是更新的 res.send 结果始终为 0。
谁能解释一下为什么会这样?我的 var updated 在我的循环之外,并且正在正确更新,但是当循环完成时,它似乎重置为 0?
returnValue == @@rowcount 来自存储过程
【问题讨论】:
标签: javascript node.js for-loop sails.js