如何在Sails.js中从模型发送数据回控制器

时间:2015-12-05 12:52:11

标签: node.js model-view-controller sails.js

我在用户控制器中有getUsers(),如下所示

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

我正在调用User Model的getUsers()方法。此方法的代码如下

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

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

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

2 个答案:

答案 0 :(得分:1)

你的控制器想要:

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

模型将如下:

10

cb是回调函数

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

答案 1 :(得分:0)

您是否有理由在模型中创建额外方法。您可以直接访问所有用户。

getUsers: function(req, res){       
  User.find().exec(function(results){
   return res.ok(results); 
  })        
}