2016-04-14 7 views
0

Guys私はAngularJSで条件付きまたは動的遅延を作成します。AngualrJS条件付きまたは動的遅延

var time =500; 
$timeout(function(){ 
       if(success==false){ 
         time =5000; 
        } 
       },time); 

SO条件が、その後増加を遅らせ満たしていない場合: 私たちはtimeoutを使用して時間遅延を固定していることを知って、どのような私が欲しいのは条件ではないが、それはより多くのを待つよりも満たしている場合、次のようなことを動的にすることです。実際には、データがロードされるのを待っています。

答えて

0

$ timeout(または角度に関係なくsetTimeout)を使用すると、遅延実行のコールバック関数がすぐに登録されるため、コールバック内の "time"変数の値を変更しても実際の遅延には影響しません。 https://docs.angularjs.org/api/ng/service/ $ Q とデータが別の

利用可能になるとの約束を解決 - あなたは$ qをサービスを利用することができる角度で

あなたがロードするデータを待っている場合は、あなたが約束を使用してのような他のオプションを持っています、あなたがUIルータを使用している場合は、状態の "解決"プロパティを使用して、状態が切り替わる前にデータがロードされていることを確認してください。