谁能帮我这个代码?我需要返回一个值形成routeToRoom功能:返回的结果从一个函数(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"));
但我总是得到:0
我猜return roomId;
roomId=results.creationix.room
之前执行。有人可以帮我解决这个问题吗?
感谢您的答复,安杰伊!链接http://metaduck.com/post/2675027550/asynchronous-iteration-patterns-in-node-js不工作,你有另一个来源?谢谢! – profesoralex
我刚刚重新格式化了你的问题; Simone提供了这个答案(你可以从右边的名字中看到,就在这些注释之上)。 –
奇怪,它的工作从这里开始。然而,在谷歌搜索的“异步的NodeJS模式”,你会发现一些文章。 –