Hola Utan.
Ya resolví el problema utilizando promesas. El problema era que cuando hacia la llamada a la function titulo(), esta se ejecutaba una vez, pero el callback de consultar_titulo se ejecutaba tantas veces como veces lo hubiera invocado.
Si por ejemplo llamaba una vez a la funcion titulo(), pasandole "aaa", todo funcionaba correctamente. El problema estaba que cuando hacia una nueva consulta, por ejemplo "bbb", en el momento de entrar en el callback, este se ejecutaba primero con "aaa", y despues con "bbb". Para entenderlo mejor dejo el log de la consola:
Código Javascript
:
Ver originaltitulo():
titulo(): function(): Titulo
titulo(): Fuera del callback: bbb
titulo(): termino: aaa
titulo(): Dentro del Callback
titulo(): 0
titulo(): termino: bbb
titulo(): Dentro del Callback
titulo(): 0
Ahora el problema se revuelve usando promesas y la libreria Q, con lo que el codigo de llamada quedaria como:
Código Javascript
:
Ver originalfunction titulo(terminoTitulo) {
var promesa = function (arg1) {
var defer = Q.defer();
consultar_titulo(arg1, defer.resolve);
return defer.promise;
} //promesa
promesa(terminoTitulo).then(function (resultado) {
console.log("Dentro de Q");
console.log(resultado[0].titulo);
});
Perdón si me he explicado mal y he causado confusión.
Saludos