在以下情况下如何使用承诺

How to use promises in the case below

本文关键字:何使用 承诺 情况下      更新时间:2023-12-06

我是angular的新手,想使用ng美味的服务器端分页,但我遇到了一些问题,比如这个

我有一个初始化方法,该方法调用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调用成功后设置的

因此,我知道如何管理这种数据依赖

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

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

如果你提供一个jsFiddle/Pulnker/CodePen,答案可以更精确。。。