誰でもこのコードを教えてもらえますか?私は値を返す必要が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
前に実行されると思います。誰かがこのコードを教えてくれますか?
あなたのお返事ありがとうございました、Andrzej! http://metaduck.com/post/2675027550/asynchronous-iteration-patterns-in-node-jsのリンクは機能していません。別のソースをお持ちですか?ありがとう! – profesoralex
私はちょうどあなたの質問を再フォーマットしました。 Simoneはこの答えを出しました(これらのコメントのすぐ上の、右の名前から分かります)。 –
奇妙な、ここから..しかし、 "nodejs非同期パターン"のGoogleで検索すると、いくつかの記事を見つけるでしょう。 –