Hola chicos que tal como estan tengo un problema y es que estoy haciendo consultas en mysql con node y pues me di de cuenta que este da los resultados de la consulta por medio de un callback. Con una sola consulta no hay problema pero necesito hacer mas consultas dentro de esa consulta y pues ahi viene el problema por que el callback es asincrono y este ejecuta bn solo la consulta que esta en esta dentro de la otra. Escuche algo como promesas pero todabia no logro entender bn como es su funcionamiento. Aqui el codigo:
Código Javascript
:
Ver originalfunction histori(dato, callback){//una funcion que se llama desde un socket.on (servidor)
var historias={}, userObj={};// variables de prueba ṕero no funciono
var usuario=dato.meet.substring(17).substring(0,dato.longs.substring(8));
timeLine(conexion, usuario, function(a){//prime callback******************************
for (var i = 0; i < a.length; i++){//hago un for para recorrer todo el resultado de la consulta anterior
var historia=a[i].historia;//asigno para que no hayan futuros errores coo undefined
slt.selectEspecific(conexion, ['nick', 'nombres'], 'usuario', 'cod', a[i].seguido, 'cod', '', 0, 1, function(user){//segundo callback************************************
console.log(historia+' de '+user[0].nick);
//userObj=user;
});
};
});
console.log(historias);//muestra {}
callback(null);
}
el resultado muestra:
Código p:
Ver original{}
Olle Bratt Pit no eres mi padre!!! fuck yeah de SonickSeven
Olle Bratt Pit no eres mi padre!!! fuck yeah de noa2
Olle Bratt Pit no eres mi padre!!! fuck yeah de SonickSeven
Olle Bratt Pit no eres mi padre!!! fuck yeah de SonickSeven
Olle Bratt Pit no eres mi padre!!! fuck yeah de marbel93
si se dan de cuenta es siempre la misma historia (primera consulta) la que si cambia es la segunda consulta (el usuario)
la verdad es la primera vez que me encuentro con este error y alguien me dio me dijo esto pero no pude enterder en ese entonces lo que queria decir. :( y ahora no me responde (seguro esta ocupado) el problema es que node trabaja con callbacks para arriba y para abajo
osea que si no soluciono esto no podre con node