Nodejs Синхронный цикл - PullRequest
0 голосов
/ 01 мая 2018

Может ли кто-нибудь помочь мне выполнить приведенный ниже цикл синхронно? Поскольку приведенный ниже код выполняется асинхронно, значение arra всегда возвращает ноль.

var arra=[];
//Query doctors collection and get necessary details           
for (i = 0; i <arr.length; i++) {
    var docregistrationnumber = arr[i].docregistrationnumber
    var registrationAuthority = arr[i].docregistrationauthority                
    doctorData.getDoctorByRegNumber(docregistrationnumber,registrationAuthority,function(data){
        console.log(JSON.stringify(data))  
        arra.push(data)                
    })
} 
console.log(arra) 

1 Ответ

0 голосов
/ 01 мая 2018

можно попробовать async/await

var arra = [];
//Query doctors collection and get necessary details    

async function getData() {
  for (i = 0; i < arr.length; i++) {
    var docregistrationnumber = arr[i].docregistrationnumber
    var registrationAuthority = arr[i].docregistrationauthority
    var data = await doctorData.getDoctorByRegNumber(docregistrationnumber, registrationAuthority);

    arra.push(data);   
  }

  return arra;
}  

getData().then( data => console.log(data) );  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...