Я новичок в node.js, я не могу понять, как это решить. Как Node.js является асинхронной природы я не могу предсказать результат в структурированном виде ...async nature in node.js
Мой сценарий выглядит следующим образом:
aysnc.foreach(Object.keys(req.body), function(elem){
if(elem !== aaaa){
client.search(Query).then(function(Data){
//----------> For every query is a callback, so after
// sending the result to front-end this callback is returning.
// I have to make this query executed and return result and
// after that only the next loop should start.
//some logic here
arr1;-------------->populating result for each query
});
} else {
aysnc.foreach(Object.keys(req.body.xxxx), function(elem){
client.search(Query).then(function(Data){
//some logic here
arr2;
});
});
}); Наконец то, что я должен сделать, это:
if(--Object.keys(req.body).length === 0){
intersect arr1 an arr2
}
Я должен пересекаться arr1 и arr2. Но перед заполнением arr1 и arr2 асинхронная природа завершает цикл, а arr1 и arr2 пуст.
Мне нужно все синхронизировать. Поделитесь своими идеями. Заранее спасибо.
Пожалуйста, разместите код с правильным отступом, не имеет синтаксических ошибок и полностью воспроизводит вашу проблему. – Tomalak
Что такое асинхронный элемент? Async.foreach – aludvigsen