Hai bisogno di una funzione di callback poiché questa è una richiesta asincrona:
function authenticate(accesskey, callback) {
var auth = null;
userModel.findOne({'uid': accesskey}, function(err, user) {
console.log("TRY AUTHENTICATE");
if (err) {
console.error("Can't Find.!! Error");
}
//None Found
if (user === null) {
console.error("ACCESS ERROR : %s Doesn't Exist", accesskey);
auth = false;
} else {
console.log(user);
auth = true;
}
callback(auth);
});
}
E chiama questa funzione come :
authenticate("key", function (authResult) {
//do whatever
});