Я очень новичок в JS и функциональном программировании в целом и изо всех сил стараюсь найти изящное решение этой проблемы. По сути, я хочу сделать асинхронные запросы на сервер MongoDB и вернуть результаты функции async to map. Проблема, которую я испытываю в том, что фактическая функция в пределах async.map
является асинхронной. Я хотел бы знать изящное решение здесь или, по крайней мере, получить указатель в правильном направлении! Благодаря!Сохранение результата асинхронной функции в Async.map
async.map(subQuery,
function(item){
collection.distinct("author", item, function(err, authors){
counter++;
console.log("Finished query: " + counter);
var key = item['subreddit'];
return { key: authors };
})
},
function(err, result){
if (err)
console.log(err);
else{
console.log("Preparing to write to file...");
fs.writeFile("michaAggregate.json", result, function() {
console.log("The file was saved!");
});
}
db.close();
}
);
Хорошо. В этом случае, как я мог бы что-то сделать, как только я обработал все это? – ianks
В конце 'processItem()' просто вызовите нужную функцию – Maris
Это будет называть n раз, правда, правильно? Я просто хочу позвонить ему один раз. – ianks