javascript - js在循环中 延迟执行 该如何写
PHP中文网
PHP中文网 2017-04-11 13:32:03
[JavaScript讨论组]

我有个excel数据,要传到服务器上
大概有1W条数据,其中有重复值
服务端写了,先查数据库中是否有这个id,如果有先删除,再写入,这样保持唯一最新数据

但是js循环上传1w条数据的时候,不会延迟设定的秒数执行.不知道哪里有错下面是我写的循环上传代码

 data=list[0].data
  itemSend=[];

  for (var i = data.length - 1; i >= 0; i--) {   //这里是循环定时 上传
      setTimeout(deal(i),i*1000);  
  }

  function deal(i) { //这个是上传具体操作代码
        console.log(i);
        itemSend[i]=toItem(data[i],i);
        toServer(itemSend[i]);
  }

跑起来的时候js 并没有延迟执行.不知道为什么....请大家指点一下该怎么写.是哪里写错了

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(1)
伊谢尔伦
for (var i = data.length - 1; i >= 0; i--) {   //这里是循环定时 上传
    (function(i){
        setTimeout(function(){
            deal(i)
        },i*1000); 
    })(i);
}

你看这样行不行

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号