我在用户控制器中有如下的getUsers()

getUsers: function(req, res){
  var results = User.getUsers();
  return res.send(results);
}


我正在调用用户模型的getUsers()方法。该方法的代码如下

getUsers: function(){
    User.find({}).exec(function findCB(err, found){
       return found;
    });
}


现在如何在控制器中获得此结果(在本例中为“找到”)?这样我就可以使用响应对象将其发送到前端。

这些函数调用似乎是异步的。

最佳答案

您的控制器希望:

getUsers: function(req, res){
                 User.getUsers(function (results) {
                    res.json(results);
                 });
}


和模型将为:

getUsers: function(cb){
  User.find({}).exec(function(err, found){
    if(err) // your error handling code
    cb(found);
  });
}


cb是回调函数


是的,“胖模型,瘦控制器”是遵循MVC的好方法

关于node.js - 如何将数据从Sails.js中的模型发送回 Controller ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34105110/

10-09 22:05