伙计我想在AngularJS中做出有条件或动态的延迟。
我知道我们可以使用timeout
来确定时间延迟,我想要的是让它像动态一样,如果条件不满足而不是等待更多:
var time =500;
$timeout(function(){
if(success==false){
time =5000;
}
},time);
如果条件不满足则延迟增加。其实我想等待加载数据。
答案 0 :(得分:0)
使用$ timeout(或setTimeout,不考虑角度)立即注册回调函数以延迟执行,因此更改" time"回调中的变量不会影响实际的延迟。
如果您正在等待加载数据,则还有其他选项,例如使用promises,您可以使用$ q服务 - https://docs.angularjs.org/api/ng/service/ $ q 并在数据可用后解决承诺
另一个选择,如果您使用的是UI路由器,则使用" resolve"状态的属性,以确保在切换状态之前加载数据。