JavaScript asignando valor a la variable desde el retorno de devolución de llamada (sincronización)
Tengo problemas para asignar el valor de retorno de la función de llamada de Firebase a mi variable global. Esta es mi función:
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();
}
})
}
y este es el otro archivo donde configuré la solicitud:
var base = new Firebase(path/to/my/base);
var output = getThePushNameById( base , 2 )
console.log(output);
Entonces mi problema es queconsole.log
no espera aoutput
por definir, pero se ejecuta solo y registraundefined
. Y mi pregunta es si alguien sabe cómo puedo hacerconsole.log
esperar por el valor?