我有一个小功能来验证用户输入。在该功能中,我还将检查电子邮件地址是否已被占用。但是我对异步回调有些麻烦。我希望任何人都可以给我一个提示,我该如何解决这个问题。我将 nodejs 与 express 3 框架、mongodb 和 node-validator 库一起使用。
这是我的验证功能的一部分:
function check(data, callback) {
mongoose.model('User', User).count(data, function (err, count) {
callback(err, !! count);
});
};
function validate(email, password, confirm) {
var v = new Validator(),
errors = new Array();
v.error = function (msg) {
errors.push(msg);
};
check({email: email}, function (err, exists) {
v.check(exists, { email: 'E-Mail is already taken' }).equals(false);
});
...
return errors;
}
基于异步回调,变量errors
在return
语句中为空。我怎么能检查电子邮件地址是否已经在数据库中?