制作一个循环等到上一次传递完成

时间:2014-11-22 20:50:21

标签: javascript loops

<script type='text/javascript'>
function pageLoad(links,site)
{
var links = links.split(","); 
for (i = 0; i < links.length; i++) { 
    var link = links[i]
    $('#info'+(i+1)).html('Processing');
    setTimeout($.post( 
         "downloadlinks.php",
         { link: link, site: site, iter:i},
         function(data) {
            if(date == "ok")
            {
                $('#info'+(i+1)).html('Finished');
            }else
            {
                $('#info'+(i+1)).html('Failed');
            }
         }), 10000);
    }
 }
</script>

你好这是我制作的myy脚本,但我不希望它同时发布每一个传递,我需要它等到上一个传递完成。

我该怎么做?

马特

1 个答案:

答案 0 :(得分:0)

使用这样的递归方式而不是循环..

<script type='text/javascript'>
function pageLoad(links,site)
{
var links = links.split(","); 
var i=0;
postNow();
function postNow() { 
    var link = links[i]
    $('#info'+(i+1)).html('Processing');
    $.post( 
         "downloadlinks.php",
         { link: link, site: site, iter:i},
         function(data) {
            if(date == "ok")
            {
                $('#info'+(i+1)).html('Finished');
            }else
            {
                $('#info'+(i+1)).html('Failed');
            }
            i++;
            if (i<links.length){
                postNow();
            }
         });
    }
 }
</script>