亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

for循環里執行setTimeout無法實現延遲執行

for循環里執行setTimeout無法實現延遲執行

冉冉說 2019-03-20 16:19:18
//循環復制$(".forExecute").click(function(){    var tableSign = $("#tableSign").val();    if(!(tableSign > 0)){        layer.msg("請選擇要復制的數據");        return;    }    var forNum = $("#forNum").val();    for(var i = 1; i <= forNum; i++){        var data = {            "tableSign":tableSign,            "pageNo":i,            "pageSize":$(".pageSize").val(),            "startDate":$(".startDate").val()            };        setTimeout(executeDataCopy(data),5000);    }})function executeDataCopy(data){    $.ajax({        type: "get",        url: "executeCopyData.do",        data:data,         dataType: 'json',        success: function(data){            if(data != null && data.success != null){                layer.alert(data.msg);            } else {                layer.alert("系統繁忙,請稍后再試");            }        }    });}
查看完整描述

6 回答

?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

這樣就可以了


for(var i =1; i<10; i++){

        (function(a){

            var data = 123456;

            setTimeout(function(){

                console.log(data);

            }, **a*2000**);

        })(i);

}


查看完整回答
反對 回復 2019-03-29
?
收到一只叮咚

TA貢獻1821條經驗 獲得超5個贊

setTimeout(executeDataCopy(data),5000);
這句executeDataCopy已經被立刻執行了,可以用下面的方式傳參:
setTimeout(executeDataCopy,5000,data);

查看完整回答
反對 回復 2019-03-29
?
眼眸繁星

TA貢獻1873條經驗 獲得超9個贊

setTimeout(executeDataCopy(data),5000);

這么寫就相當于直接執行executeDataCopy(data);

再套一層:

setTimeout(function(){

    executeDataCopy(data)

},5000);

就行了


查看完整回答
反對 回復 2019-03-29
?
莫回無

TA貢獻1865條經驗 獲得超7個贊

setTimeout(executeDataCopy,5000,data);


查看完整回答
反對 回復 2019-03-29
?
拉丁的傳說

TA貢獻1789條經驗 獲得超8個贊

setTimeout(function(){

    executeDataCopy(data)

},5000);


查看完整回答
反對 回復 2019-03-29
?
飲歌長嘯

TA貢獻1951條經驗 獲得超3個贊

setTimeout第一個參數是 Function,而你傳了一個executeDataCopy(data),這是一個方法的調用(而不是方法本身),實際上你傳給setTimeout的是undefined,可以按上面幾位大佬的方法改。


查看完整回答
反對 回復 2019-03-29
  • 6 回答
  • 0 關注
  • 965 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號