I am trying to synchronously iterate over an array using async.each:
async.each(supplier_array, function(supplier) {
console.log('looking at : ' + supplier);
knex(host_name + '.order_item').where({
supplier: supplier,
order_id: order_id
}).then(function(data) {
console.log(data);
knex(host_name + '.distributor').select()
.then(function(data) {
console.log(data);
}).catch(function(error) {
console.log('error: ' + error);
});
}).catch(function(error) {
console.log('error: ' + error);
});
});
My supplier_array has 3 elements. So what SHOULD happen is the app should (synchronously):
For supplier 1 / first arr / first array element:
- console.log(supplier)
- console.log(order_item)
- console.log(distributor)
For supplier 2 / second array element:
- console.log(supplier)
- console.log(order_item)
- console.log(distributor)
For supplier 3 / third array element:
- console.log(supplier)
- console.log(order_item)
- console.log(distributor)
HOWEVER, it acts asynchronously:
- console.log(supplier)
- console.log(supplier)
console.log(supplier)
console.log(order_item)
- console.log(order_item)
console.log(order_item)
console.log(distributor)
- console.log(distributor)
- console.log(distributor)
Can someone help me achieve the desired effect of running through the steps inside of async synchronously?
Thanks in advance!