2
我正在学习一本书的Node.js。我没有像现在那样应对和使用图书样本代码,而是在自己的代码中使用基础和重用,作为学习练习。问题与猫鼬model.save回调
我有这个代码为一个新的用户创建,我会复制我认为是相关的。 我希望发生的是,user.register使用model.register,并获得真或假,如果用户创建或根据不和发送响应accordly
app.js捕捉后
app.post('/user', users.actions.register);
user.js的寄存器
var register = function (req, res) {
if (req.body.username === '' ||
req.body.email === '' ||
req.body.password === '') {
//Some field is blank - insufficient information
console.log('User creation failure: Insufficient data');
res.json(400);
} else {
var newUser = new models.account.user ({
username: req.body.username,
email: req.body.email,
password: req.body.password
});
models.account.register (newUser, function (succ) {
console.log (succ);
if (succ === true) {
res.json(200);
} else {
res.json(400);
}
});
}
};
然后account.register
var register = function (newUser) {
console.log ('Save command sent.');
newUser.save (function (err) {
if (err) {
console.log(err);
return false;
}
console.log('User Created');
return true;
});
};
用户获取对数据库的创建,并在控制台上输出
Save command sent.
User Created
我期待发生的是,SUCC接收真的还是假的,但我做错了什么,并不能找出原因。
我让这段代码改变了方法,但是因为这是一个对我的学习实验,所以我希望能够这样做。
如果有人能指出我正确的方向或告诉我我做错了什么,我将不胜感激。 谢谢。
非常感谢。它正在像我期待的那样工作。所以我从中得到的是,我使用的是未声明的回调函数,而且我没有以正确的方式返回。也许我会需要更多的阅读,虽然我可以看到我不完全理解它的错误。再次感谢您的快速回答。 – Gabriel