如何将数据推送到数组并返回回调函数?

时间:2015-04-24 10:24:53

标签: sails.js

我正在使用风帆构建一个Web应用程序。我的服务有问题。我想将映射数据推送到数组并返回控制器。

这是我的代码。

getPortlet : function(callback){

    var myExampleCriteria = [
         {year : 2015, month : 4},
         {year : 2015, month : 3},
         {year : 2015, month : 2}
    ]; 


  Portlet.find().where(myExampleCriteria).exec(function(err, result){
      var portlet = [];
      if(err){ callback(err); }
      else{
            _.map(result, function(data){
                 portlet.push({
                      year : data.year,
                      month : moment().month(data.month-1).format('MMM'),
                      status : data.status
                 });
            });   
            callback(null, portlet);
          }
   });  

}

非常感谢。

1 个答案:

答案 0 :(得分:0)

首先,您对_.map的使用不正确。您正在使用它,就好像它是_.each一样。其次,我需要你告诉我你的实际问题是什么。您看到了什么错误消息?如果没有错误,发生了什么?

这是使用地图的正确方法:



getPortlet : function(callback){

    var myExampleCriteria = [
         {year : 2015, month : 4},
         {year : 2015, month : 3},
         {year : 2015, month : 2}
    ]; 


  Portlet.find().where(myExampleCriteria).exec(function(err, result){
      var portlet = [];
      if(err){ callback(err); }
      else{
        callback(null, _.map(result, function(data){
          return {
            year : data.year,
            month : moment().month(data.month-1).format('MMM'),
            status : data.status
          };
        });
       }
   });  

}