2017-05-08 9 views
2

なぜ私のリストは知りません; addをクリックすると更新されません。リフレッシュすると更新されます。あなたは、サービス内の約束を解決:ここに私のコードは私のリストが更新時に更新されるのはなぜですか

サービス

function getCustomer() { 
     return $http.get(API_URL+'api/customer') 
        .then(getCustomerSuccess) 
        .catch(function(err) { 

          }); 
       function getCustomerSuccess(response) { 

        return response.data; 
        } 
        } 

のJs

function getCustomer() { 
         dataServices.getCustomer() 
           .then(function(response){ 
        vm.customer = response; 
}) 
       } 

       vm.add = function(customer) { 
        dataServices.addCustomer(customer); 
        getCustomer(); 
        logger.success('Add Customer Success'); 
       } 

答えて

1

なぜ私のリストが更新のみリフレッシュ

が問題になるときであります代わりにPromiseオブジェクトを返します。リフレッシュ後、サーバーからロードした新しいデータを取得するダイジェストサイクルをトリガーします

コードから、a.e.

あなたが非同期的な機能を実行し、そしてそれらが、処理が完了したときにその 戻り値(または例外)を使用することができますサービス:dataServices.getCustomer().then(/* .. */)あなたは約束

使用$qを期待しています。

function getCustomerSuccess(response) { 
    var deferred = $q.defer();    
    deferred.resolve(response.data);    
    return deferred.promise;  
} 
+0

感謝のため、私はそれをしようとします示唆しています。しかし、このケースで$ qを使うべき理由を私に説明できますか? –

+0

@NguyễnBảoDũngこの例を見てください:http://jsfiddle.net/oymubx4z/ –

+0

それはあまりにもうまくありません。私は異なるファイルでテストしようとしています。しかし、私のファイルでは、それは動作しません。私はCORSを使用していますので、CORSはこれに関連しているのですか? –

関連する問題