Ich verwende Bluebird.map
aber es mein Array von Objekten früh aus irgendeinem Grund zurückkehrt:Drossel Karte Rückkehr früh
function returnInvoicePrice(items) {
return Bluebird.map(items, function(item) {
db.collection('products').find({
product_code : item.product_code
}).toArray(function(err, product) {
var invoice_price = product[0].invoice_price;
console.log('--product--');
console.log(product);
return product;
});
}).then(function(items) {
console.log('--items w/ invoice price--'); // this prints BEFORE my console.log(product) for some reason...
console.log(items);
}).catch(function(error) {
console.log('--bluebird error in returning price for each item--');
console.log(error);
});
}
returnInvoicePrice(items);
Wer weiß, was könnte ich tun falsch sein?
Added Codebeispiel und wies darauf hin, zwei andere Dinge falsch mit dem Code. – jfriend00