程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> ajax-js中for循環每次循環如何暫停一秒後執行

ajax-js中for循環每次循環如何暫停一秒後執行

編輯:編程綜合問答
js中for循環每次循環如何暫停一秒後執行

大神們幫我看一下我寫的這段代碼:
//人員授權的全增功能
function alladdroleshouquanusers()
{

            var rows = partid3.getSelecteds();
            for(var i=0;i<rows.length;i++)
            {
            var sendData = nui.encode({'userid':rows[i].OPERATOR_ID,'prPartId':plPartId3});
            nui.ajax
            (
                {
                     url:"com.spinsoft.eip.portal.Part.queryalladdusers.biz.ext",
                     type:'POST',
                     data:sendData,
                     cache: false,
                     contentType:'text/json',
                     success:function(text)
                     {
                         var returnJson = nui.decode(text);
                         if(returnJson.exception == null)
                         {
                             partid3.reload();
                             partid4.reload();
                         }
                         else
                         {
                             nui.alert("添加角色授權失敗", "系統提示");
                             partid1.unmask();
                         }
                     }
                }
            );
            }
      }

我是想利用選擇框全選,然後點擊一鍵全都添加,但是在這裡遇到了問題,以上代碼中數據可以獲取,但是在執行ajax的時候出現了問題,全增的時候之增加過去了一部分,還有一部分沒有增加過去,我嘗試在for循環下面加了一個alert,然後彈出一個alert就點擊一下,就這樣的方式,數據居然可以全都添加過去,為此很納悶,不知道是哪裡出了問題,自己懷疑是不是ajax執行的太快了,數據丟失的原因,所以想讓for循環慢一點執行試一下,網上搜索頁搜索不到結果,哪位大神有解決的辦法,謝謝了!

最佳回答:


<script>
var index=0;
 var handler = setInterval("alladdroleshouquanusers()",1000);
 if(index<rows.length){
    index++;
        if(index>=rows.length){
            clearInterval(handler);//關閉定時
        }
    原來for裡面的一堆代碼
 }
 </script>
lv6917527
danielinbiti
lv6917527
lv6917527
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved