2016-03-23 89 views
1

我有一个问题,即在循环结束之前函数不断调用。如何在循环结束之后阻止函数被调用?我的循环正在将HTML表格输出到页面,然后由我的sortResultsByDate执行此操作,但在HTML呈现之前无法进行。目前我的第二个功能是在第一个功能完成之前触发。确保在jQuery中运行其他代码之前完全执行循环

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

    ns.sortResultsByDate(); 
}; 
+2

您是否试图实现递归? – Technoh

+1

这应该可以正常工作。但是,您的'getUserSearchResults'是否会调用ajax来获取结果?在这种情况下,它将无法工作。同样如Technoh所说,你是否有意从自己调用'getUserSearchResults'? – Rhumborl

+0

尝试推迟使用jQuery:https://api.jquery.com/jquery.deferred/ – swatkins

回答

0

看来你递归调用ns.getUserSearchResultsjQuery.each循环中。 ns.sortResultsByDate()正在为每个此类调用执行一次,因此在完成所有递归调用之前,您最终会多次执行它。

相关问题