¿Alguien podría ayudarme con este código? Tengo que devolver un valor formar una función routeToRoom:devuelve resultados de una función (javascript, nodejs)
var sys = require('sys');
function routeToRoom(userId, passw) {
var roomId = 0;
var nStore = require('nstore/lib/nstore').extend(require('nstore/lib/nstore/query')());
var users = nStore.new('data/users.db', function() {
users.find({
user: userId,
pass: passw
}, (function (err, results) {
if (err) {
roomId = -1;
} else {
roomId = results.creationix.room;
}
}));
});
return roomId;
}
sys.puts(routeToRoom("alex", "123"));
Pero consigo siempre: 0
supongo return roomId;
se ejecuta antes de roomId=results.creationix.room
. ¿Alguien podría ayudarme con este código?
gracias por su respuesta, Andrzej! El enlace http://metaduck.com/post/2675027550/asynchronous-iteration-patterns-in-node-js no funciona, ¿tiene otra fuente? ¡Gracias! – profesoralex
Acabo de volver a formatear su pregunta; Simone proporcionó esta respuesta (se puede ver por el nombre a la derecha, justo encima de estos comentarios). –
extraño, está funcionando desde aquí ... sin embargo, busque en google "nodejs asynchronous patterns", encontrará algunos artículos. –