2017-12-29 11 views
0
$scope.editData = function(newValue){ 
     var deferred = $q.defer(); 
     $scope.Data=newValue; 
     deferred.resolve($scope.Data); 
     return deferred.promise; 
    }; 

私は、コントローラの出発点で、この機能を書かれているデータは変数$ scope.Dataにassingedされたときに、その後の関数の残りの部分だけを進める必要があるので、私は、これだけの機能のための約束を使用していましたコントローラ内にあります。angularjsでpromise関数を使用するには?

誰でも手伝ってもらえますか?

+0

あなたはこれを実装した、あまりにもコントローラーのコードを共有してください。 – orangespark

答えて

0

これはまったく役に立ちません。同期コードのように動作します。
このような 変更して:あなたはつもりコードが実行を継続し、50ミリ秒後、約束が解決されますせ

$scope.editData = function(newValue){ 
     var deferred = $q.defer(); 
     $timeout(function() { 
      $scope.Data=newValue; 
      deferred.resolve($scope.Data); 
      return deferred.promise; 
     },50); 

     return deferred.promise; 
    }; 

この方法です。
これは機能editDataを使用する方法である:

$scope.editData(newValue).then(function() { /* do something here */ }); 
関連する問題