Я относительно новичок в стеке MEAN и все еще в фазе обучения.
Попытка создать простое приложение, которое отображает список записей поиска во внешнем интерфейсе вместе с информацией о общее количество найденных записей и количество различных имен клиентов в наборе данных.
Я написал отдельную функцию в файле node.js для возврата общего и различного количества, но я полагаю, что из-за асинхронного характера ответ (код 3 ниже) выполняется перед выполнением кода для подсчета отличного (код 2 ниже),Из-за этого значения отчетливое число всегда равно 0.
Ниже приведен мой код
function xyz(req, res, next)
{
//Code 1 - Get the data
query = Recs.find({ $and: searchQuery });
//Code 2 - Query to get distict cust name count
query.find().distinct('custName',function (err, distinct_cust_count) {
cust_count = distinct_cust_count.length;
});
//Code 3 - Response
if (query == null) res.send({total: 0,c_count:0});
else query.count(function(err, total) {
res.send({total: total,c_count:cust_count});
});
}
Пожалуйста, предложите, как я могу получить Код 2 , который всегда будет выполняться до Код 3 .Я видел несколько примеров, использующих обратные вызовы, но это использует разные функции не для сегмента кода в функции.