2016-04-05 13 views
0

angular.foreach döngüsündeki gecikmeyi kullanmak istiyorum. Bir listem var ve bunları 2 saniyelik aralıklarla tek tek görüntülemek istiyorum.AngularJS foreach gecikme döngüsü

angular.forEach(vm.SimulationResult, function (value, key) { 
        timeout2 = $timeout(function() { 
         vm.Alerts.push({ msg: value.MainStatus }); 
        }, 2000); 
       }); 

Ne yapmalıyım?

let promise = $timeout(); 
angular.forEach(vm.SimulationResult, function(value, key) { 
    promise = promise.then(function() { 
     vm.Alerts.push({ msg: value.MainStatus }); 
     return $timeout(2000); 
    }); 
}); 

(açısal sürümünüz olduğundan emin olun: Her biri bir sonraki uyarısı zorlayacak başka vaadi zaman aşımı başlar böylece

+0

vm.SimulationResult'un yapısı nedir? –

+0

Okunmaya değer: http://stackoverflow.com/questions/3583724/how-do-i-add-a-delay-in-a-javascript-loop –

+0

bu önemli mi? İlkel türler içeren bir listedir. @SiddharthAjmera – Egomen

cevap

3

$ zaman aşımı birlikte bir söz ve zincir vaat döndürür aslında yararlanın eski sürümler, geri çağırma işlevini zaman aşımına uğratmanıza izin vermedi.)

+0

Bu işe yaramadı başka bir çözüm var mı? – Egomen

+0

Benim için çalıştı (AngularJS 1.5.8) – iiminov

+0

Benim için de çalıştı –