猫鼬模型保存回调的问题
Issue with Mongoose model.save callback
我正在用一本书学习Node.js。我没有按原样应对和使用书本示例代码,而是使用基础并在自己的代码中重用用作学习练习。
我有这个代码用于创建新用户,我将复制我认为相关的代码。我期望发生的事情是user.register使用model.register并接收真或假,具体取决于用户是否被创建并相应地发送响应
应用程序.js捕获帖子
app.post('/user', users.actions.register);
用户.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);
}
});
}
};
然后帐户注册
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 收到真或假,但我做错了什么,不知道为什么。
我使这段代码改变了方法,但由于这对我来说是一个学习实验,我希望能够以这种方式做到这一点。
如果有人能指出我正确的方向或告诉我我做错了什么,我将不胜感激。谢谢。
models.account.register ( newUser, function (succ) {
...
}
您正在将匿名函数作为第二个参数传递给 register
。所以,register
必须接受这一点,并在结果中调用它,就像这样。
var register = function ( newUser, callBackFunction ) { // accept the callback
console.log ('Save command sent.');
newUser.save ( function ( err ) {
if (err) {
console.log(err);
return callBackFunction(false); // invoke it on failure :(
}
console.log('User Created');
return callBackFunction(true); // invoke it on Success :)
});
};
相关文章:
- Meteor:异步回调问题
- 异步中的回调函数出现问题'张贴'
- AJAX成功回调-执行javascript时出现问题
- 请求js中的回调问题
- JavaScript回调问题
- node.js+MySQL;JSON结果-回调问题&没有响应客户端
- Google+登录JavaScript回调问题
- NodeJS回调范围问题
- 如何修复-jEditable被回调2x的问题
- 在回调中使用主干this.set时出现问题
- Google JS API: gapi.auth.signIn 回调函数问题
- 用于循环回调问题的 Nodej
- 如何在回调函数的 Angular 1.5 组件中处理这个问题
- 删除 ajax 回调问题
- 在节点.js代码中实现回调的问题
- Javascript 的新手 - 回调问题
- 在angularjs/javascript中将参数传递给命名回调函数的问题
- API JSON 回调问题
- 猫鼬查找()回调问题
- Ajax 回调断点安全问题