};
var login = function(name, socket, passcode, callback) {
db.get(name + ':name', function(res) {
db.get(name + ':pin', function(pin) {
if (name === res) {
if (passcode === pin) {
players[sockets.indexOf(socket)] = name;
}
}
});
});
};
var register = function(name, socket, passcode, callback) {
if (name === null) {
callback('Name null!');
return;
}
if (name === '') {
callback('Name empty!');
return;
}
db.get(name + ':name', function(data) {
if (data !== null) {
callback('This name has been taken!');
}
else {
db.set(name + ':name', name, function() {
db.set(name + ':pin', passcode, function() {
players[sockets.indexOf(socket)] = name;
callback('Logged in as: ' + players[sockets.indexOf(socket)]);
});
});
}
});
};
ログイン部分で任意のユーザーに任意のPINでログインでき、登録部分ではコールバックできないのはなぜですか?
それらは経由で呼び出されます
login(args[1], socket, args[2], function(data) {
callback(null, data)
}
dbはredisクライアントです。
完全なコード:github.com/creativemud、ファイルserver.js