如何在下面的案例中使用promises

时间:2016-04-04 14:31:31

标签: javascript angularjs

我是角色的新手,想要使用ngtasty服务器端分页,但我遇到了这样的问题

我有初始化方法调用getMetaData函数进行API调用并根据api数据设置$scope.publishersModel = [];和其他模型

$scope.initialize = function () {
  $scope.publishersModel = [];
  $scope.sitesModel = [];
  $scope.getMetaData();
};

另外,对于获取表格中显示的数据,我有getData(selectedPublishers,selectedSites)函数,该函数将所选模型作为参数,此函数将重新启动此类数据

{ "header": [{"Date" :"Date"}, {"Site":"Site"}],
  "rows":[{"Publisher_Name":"FashionDivaDesign","Site":"FashionDivaDesign.com","Date":"2015-12-06",}],
  "pagination": {"size":668,"pages":"67","count":10}
}

但是当前参数,即getData(param)不可用,这是在getMetaData()的api调用成功后设置的

所以任何想法如何管理这种数据依赖

1 个答案:

答案 0 :(得分:1)

我认为您需要将其封装在service中,但您可以尝试以下内容:

$scope.getMetaData().then(function(data){
    return getData(data.selectedPublishers,data.selectedSites)
})
.then(function(data){
    $scope.something = data.rows;  
});

如果您提供jsFiddle / Plunker / CodePen,答案可以更精确......