我想assing從兩個表中,第一個表的SELECT查詢從在結果值獲取ID和assing下一查詢結構數組,這裏是我的代碼訪問多個表併發的Mysql的NodeJS
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
。建議我同時提取價值。
我試圖做同樣的移動'query.on(「端」,函數(){''到queryOrderKOT.on(「端」 ,函數()'但'query.on('end''根本不觸發 –
什麼是客戶端?將它移入'result'應該可以工作 –
它的mysql,並且在結果之後仍然移動,但它仍然沒有觸發。我嘗試了多個實際的組合。 –