2016-03-23 24 views
1

içinde başka bir kod çalıştırılmadan önce çalıştırıldığından emin olun Bir işlevin bir döngü tamamlanmadan önce çağrılmaya devam etmesiyle ilgili bir sorunum var. Döngü bittikten sonra işlevin çağrılmasını nasıl önleyebilirim? Döngünüm, HTML tablolarını sayfama aktarıyor ve sonra da benim sortResultsByDate tarafından gerçekleştiriliyor, ancak bu HTML oluşturuluncaya kadar gerçekleşemez. Şu anda benim ikinci işlevim birincisi tamamlanmadan ateş ediyor.Döngü tamamen jQuery

ns.executeUserSearch = function() { 
    jQuery.each(searchInputArray, function(index, value) { 
     ns.getUserSearchResults(searchInputArray, index); 
    }); 

    ns.sortResultsByDate(); 
}; 
+2

Özyinelemeye mi çalışıyorsunuz? – Technoh

+1

Bu iyi çalışmalı. Ancak, 'getUserSearchResults' sonuçlarınızı almak için ajax araması yapıyor mu? Bu durumda işe yaramaz. Technoh'un da dediği gibi, 'getUserSearchResults' kelimesini kendiniz mi çağırıyorsunuz? – Rhumborl

+0

Bir jQuery ertelenmiş deneyin: https://api.jquery.com/jquery.deferred/ – swatkins

cevap

0

Size jQuery.each döngü içinde yinelemeli ns.getUserSearchResults diyorlar görünüyor. Her çağrı için ns.sortResultsByDate() bir kez yürütülür, böylece tüm özyinelemeli çağrıları tamamlamadan önce birden çok kez çalıştırmayı bitirirsiniz.