2014-11-05 96 views
1

我需要保存数据,然后我需要在之后立即显示更改。 这就是为什么我有一个正在以角度调用服务到另一个服务中

  • updateSaisine,让我来更新数据
  • getOneSaisine,让我得到的数据并显示出来:

这是比较正确的做法了理由?

我应该写:

$scope.saveSaisine = function() { 
    saisineSrv.updateSaisine($scope.currentSaisine.idSaisine, $scope.currentSaisine). 
    then(
     function() { 
      $scope.errorMessages = []; 

       if ($scope.currentSaisine.idMotif) { 
       toaster.pop('success', 'Réponse', 'Success'); 
       angular.element('#modalSaisine').modal('hide'); 

       saisineSrv.getOneSaisine($scope.currentSaisine.idSaisine, $scope.currentSaisine).then(function(response) { 
        $scope.currentSaisine.dateModif = response.dateModif; 
       }); 

     }, 
     function error(response) { 
      $scope.errorMessages = response.data; 
      toaster.pop('error', 'Réponse', 'We have a problem'); 
     } 
    ); 
}; 

OR

$scope.saveSaisine = function() { 
    saisineSrv.updateSaisine($scope.currentSaisine.idSaisine, $scope.currentSaisine). 
    then(
     function() { 
      $scope.errorMessages = []; 

       if ($scope.currentSaisine.idMotif) { 
       toaster.pop('success', 'Réponse', 'Success'); 
       angular.element('#modalSaisine').modal('hide'); 

     }, 
     function error(response) { 
      $scope.errorMessages = response.data; 
      toaster.pop('error', 'Réponse', 'We have a problem'); 
     } 
    ); 

    saisineSrv.getOneSaisine($scope.currentSaisine.idSaisine, $scope.currentSaisine).then(function(response) { 
     $scope.currentSaisine.dateModif = response.dateModif; 
    }); 
}; 

回答

1

第一个选项是正确的方法,你应该如何刷新数据,因为这些服务是异步从而在第二个例子中,你可以不要” t获取新鲜数据(getOneSaisine可以在updateSaisine之前完成)。

+0

非常感谢MajoB!我很感激! – stackSaru 2014-11-05 14:32:04

相关问题