JavaScript, присваивающий значение переменной из обратного вызова (время)

У меня проблемы с присвоением возвращаемого значения из функции вызова Firebase моей глобальной переменной. Это моя функция:

  function getThePushNameById( path , id ){
    path.once( 'value', function( data ){ 
        if( data.child('id').val() != id ){
            data.forEach( function( newData ){
                var base = new Firebase( path.child( newData.name() ).toString() );
                getThePushNameById( base, id );
            })
        }else{
            //finishes the function when path is founded - returns the value
            return path.name();
        }       
    })
}

и это другой файл, где я установил запрос:

var base = new Firebase(path/to/my/base);

var output = getThePushNameById( base , 2 )
console.log(output);

Так что моя проблема в том, чтоconsole.log не ждетoutput быть определенным, но работает сам и регистрируетundefined, И мой вопрос, если кто-то знает, как я могу сделатьconsole.log ждать значения?

Ответы на вопрос(2)

Ваш ответ на вопрос