Javascript 收集数据并做出响应
我刚开始学习SailsJS,遇到了以下问题: 在UserController中,我有以下方法:Javascript 收集数据并做出响应,javascript,node.js,sails.js,Javascript,Node.js,Sails.js,我刚开始学习SailsJS,遇到了以下问题: 在UserController中,我有以下方法: /** * `UserController.create()` */ create: function (req, res) { var d = {}; c = {'fullname' : 'Sergiu Pirlici'} User.findOne(c, function(err, found) { d.found = found;
/**
* `UserController.create()`
*/
create: function (req, res) {
var d = {};
c = {'fullname' : 'Sergiu Pirlici'}
User.findOne(c, function(err, found) {
d.found = found;
});
User.destroy(c, function(err){
d.destroyed = !err;
});
if(req.method == 'GET') {
res.view(d);
}
else if(req.method == 'POST') {
var dat = req.params.all();
User.create(dat, function(err, created){
d.err = err;
if(!err) {
d.created = created;
}
});
}
d.foo = true;
res.json(d);
},
在variabled
中,我想收集数据并将其传递给view或作为JSON发送
但是d
的值是{'foo':true}
我知道这是因为先例操作是异步的
是否有其他方法收集数据并将其传递给响应
我怎样才能做到这一点?您可以使用服务
然后传递一个回调参数
所以在UserService.js上
module.exports = {
FindOne: function(cb){
User.findOne(c, function(err, found) {
cb(found);
});
}
};
然后在控制器上:
UserService.FindOne(function(found){
//other logic
var d = { result : found } ;
res.json(d);
});