Coffee Script指定在函数中返回哪个值

时间:2014-08-24 19:46:48

标签: javascript angularjs coffeescript

我正在构建一个在其中运行多个函数的函数,但我希望输出是单个变量的值。当使用咖啡脚本时,我无法指定我想要返回的值,因此它返回多个函数。

我编写代码的方式很可能是错误的,所以请随意提出建议。

当我执行该功能的控制台日志时,我得到这样的输出

Object {then: function, catch: function, finally: function}

我想要的唯一回报是ShopAverages的价值,所以我希望有一个数字。

这是咖啡脚本中的功能

  KPIaverage = (period, KPIName, params) ->
    Sads.shops.getList(params).then (data) ->
      shops = data.map((d) ->
        new ScopeShopWithMetrics(d, $scope.organizations.current)
      )
      $q.all(shops.map((d) ->
        d.getAverages period
      )).then ->
        shopSUM = 0
        i = shops.length
        shopSUM += shops[i]["metrics"][KPIName]["value"]  while i--
        ShopAverage = shopSUM / shops.length

这是我在使用http://js2coffee.thomaskalka.de/

时获得的转换后的JS输出
var KPIaverage;
KPIaverage = function(period, KPIName, params) {
  return Sads.shops.getList(params).then(function(data) {
    var shops;
    shops = data.map(function(d) {
      return new ScopeShopWithMetrics(d, $scope.organizations.current);
    });
    return $q.all(shops.map(function(d) {
      return d.getAverages(period);
    })).then(function() {
      var ShopAverage, i, shopSUM;
      shopSUM = 0;
      i = shops.length;
      while (i--) {
        shopSUM += shops[i]["metrics"][KPIName]["value"];
      }
      return ShopAverage = shopSUM / shops.length;
    });
  });
};

使用angularjs如果有所作为

0 个答案:

没有答案