Hallo ich bin neu zu Node ich versuche, Anmeldefunktion zu erstellen ... es überprüft, ob Benutzername existiert oder nicht und andere wenige Validierungen .. aber es ist nicht warten auf Ergebnisse aus mongodb zu überprüfen, ob Benutzer vorhanden ist oder nicht .. Rückruf wird sehr early..pls Hilfe gefeuert, wie kann ich es machen wie ichCallback wird gefeuert, ohne zu warten Knoten js
var fs = require('fs');
var bcrypt = require('bcrypt-nodejs');
var util = require('./util');
exports.loginValidate = function(user, callback) {
var User = require("../Models/UserSchema").model('User');
User.findOne({
uname: user
}, function(err, userData) {
if (err) console.log(err);
callback(userData);
});
}
exports.createUser = function(data, callback) {
var User = require("../Models/UserSchema").model("User");
var user = new User(data);
user.save(function(error) {
if (error) {
return res.json({
msg: "error"
});
} else {
callback(true);
}
});
}
exports.registerValidate = function(data, callback) {
var isValid = true;
var userData = [];
var errors = [];
for (var key in data) {
userData.push(data[key]);
}
var nam = Object.keys(data);
this.loginValidate(userData[0], function(data) {
//should wait for results
if (data) {
isValid = false;
}
});
util.validateMobile(userData[2], function(bool) {
if (!bool)
isValid = false;
});
if (util.validateEmail()) {
isValid = false;
}
//gets fired without waiting
callback(isValid);
}
können Sie den vollständigen Code teilen, wo die Funktionen werden angerufen. – shikhar