【发布时间】:2014-02-25 07:03:29
【问题描述】:
我正在尝试从两个表中分配结构化数组,第一个表选择查询,结果中的值从中获取 ID 并分配给下一个查询,这是我的代码
var query = db.query('select * from orderdish'),
users = [];
query
.on('error', function(err)
{
console.log(err);
updateSockets(err);
})
.on('result', function(order,callback)
{
order.abc ='11';
order.OrderKOT=[];
var queryOrderKOT = db.query('select * from tblorderkot where order_Id='+ order.order_Id,function()
{
kotOrders = [];
queryOrderKOT
.on('error',function(err)
{
console.log(err);
updateSocket(err);
})
.on('result',function(orderKOT)
{
kotOrders.push(orderKOT);
})
.on('end', function()
{
console.log(kotOrders);
order.OrderKOT.push(kotOrders);
});
});
console.log(order);
users.push(order);
/* aa(function(){
});*/
})
.on('end', function()
{
// loop on itself only if there are sockets still connected
if (connectionsArray.length)
{
pollingTimer = setTimeout(pollingLoop, POLLING_INTERVAL);
console.log("This is End Values");
updateSockets({ users: users });
}
});
将order.OrderKOT 设置为空。我知道它必须通过在query.on(result) 中回调来完成,但如果我设置它不会给我任何结果。第二个查询queryOrderKOT 正在运行,但它获取价值的时间很晚,并且没有将价值推向order.OrderKOT。建议我同时获取值。
【问题讨论】:
标签: mysql node.js concurrency