我是帶有MySQL數據庫的NodeJS的新手,我想執行嵌套查詢的代碼。 這個場景是我必須得到不完整交易的列表,然後通過使用迭代循環迭代我從數據庫收到的列表。 在循環中有更多的查詢正在執行,並調用第三方API來獲取返回回調數據的數據。現在問題是回調異步執行,循環不等待回調返回數據,它繼續前進。 請在我遇到這種情況時請指導我。處理嵌套查詢NodeJS中的MySQL回調
這裏是我的代碼
var sql = incompleteTradesQuery.getIncompleteTrades();
sqlConn.query(sql, function (err, data) {
if (err) {
console.log(err);
}
else {
for (var i = 0; i < data.length; i++) {
bittrexExchange.getOrder(data.order_uuid, function(err, order_data) {
if (order_data.result.IsOpen != true) {
var order_sql = tradesQuery.insertTrade(order_data.result.OrderUuid, order_data.result.Exchange, data.customer_id, order_data.result.Quantity, order_data.result.QuantityRemaining, order_data.result.Limit, order_data.result.Reserved, order_data.result.ReserveRemaining, order_data.result.CommissionReserved, order_data.result.CommissionReserveRemaining, order_data.result.CommissionPaid, order_data.result.Price, order_data.result.PricePerUnit, order_data.result.Opened, order_data.result.Closed, order_data.result.IsOpen, null, data.commission_fee, data.total_transfer, new Date());
sqlConn.query(order_sql);
var incomplete_trades_query = incompleteTradesQuery.deleteIncompleteTradesById(data.id);
sqlConn(incomplete_trades_query);
}
});
}
}
});
的可能的複製[JavaScript的閉合環內 - 簡單實用示例](https://stackoverflow.com/questions/750486/javascript-closure-inside-loops-simple-practical-example) –