Добрый вечер форумчане

  .Такая проблема как можно вернуть данные с функции 
function poisk(){
var pol=[]    
data.orderByChild("pol").equalTo(znachenie).on("child_added", function(snapshot) {
    pol[pol.length] = snapshot.key();
})
 
console.log(pol) 
 
}
Суть самой проблемы в том что он не сразу ,выдает все данные.То есть нужно выполнить функцию дважды чтобы в массив "pol" записались все данные.Подскажите как эту проблему можно устранить ? работаю с firebase