Я пытаюсь асинхронно извлечь некоторые данные из базы данных и затем добавить эти значения в массив, который мне нужен для некоторых других вещей, у меня есть эта функция:
function retrieveProduct(SKU, callback) {
Products.find({
SKU: key
}, function (err, doc) {
if (err) {
callback(err, null);
} else {
callback(null, doc[0]);
}
});
}
, и я использую ее следующим образом:
for (var key in orders) {
retrieveProduct(key, function (err, doc) {
if (err) {
console.log(err);
}
products_found[key] = doc
console.log(doc);
});
}
console.log(products_found);
}
Где orders
- список идентификаторов.
Проблема в том, что когда я пытаюсь добавить doc
к products_found
, ничего не добавляется и ничего не регистрируется вконсоль.Более того, ESlint говорит мне не делать функции внутри цикла.
Что я делаю не так?