[removed] wait for function in loop to finish executing before next iteration

前端 未结 2 498
無奈伤痛
無奈伤痛 2021-01-06 12:02
$(function() {
$(\"#submit\").click(function() {


for (var i=1; i<=14; i++)
{
        setID(i); 
        checkField(i);

}

if ($(\'#pass_fail\').val() != \"fail         


        
2条回答
  •  春和景丽
    2021-01-06 12:46

    Sorry, but in earlier response I didn't see any loop to wait for any other function or any inner loop execution to let it finish before next iteration.

    With JQuery 3.3.1

    Scenario: for loop with var i will wait for inner other loop to complete before next iteration value of i

    $(document).ready(function(){
    
        $("p").click(function() {
        
        	var varIDeferred = $.Deferred();
            var varJDeferred = $.Deferred();
            
            /*
            var loopJInside = function(j) {  
                console.log("j is : " + j);
                $("span").html($("span").html() + "
    j is : " + j); varJDeferred.resolve(); j++; console.log("j value after incr is : " + j); return j; } // call inside loopJ setTimeOut(j = loopJInside(j), 500); */ var loopJ = function(valueI) { for (var j = valueI; j < (3+valueI); ) { varJDeferred = $.Deferred(); $("span").html($("span").html() + "
    j is : " + j); j++; varJDeferred.resolve(); } varIDeferred.resolve(); return (valueI+1); }; for(var i = 0; i < 3; ) { varIDeferred = $.Deferred(); $("span").html($("span").html() + "
    value of i is : " + i); if (i == 3) break; i = loopJ(i); }; }); });
    
    
    
    
    
    
    
    

    Click me

    Hope this would help many one.

提交回复
热议问题