ทำการวนซ้ำรอจนกระทั่งการผ่านครั้งก่อนเสร็จสิ้น

<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>

สวัสดี นี่คือสคริปต์ของฉันที่ฉันสร้างขึ้น แต่ฉันไม่ต้องการให้โพสต์ทุกพาสพร้อมกัน ฉันต้องรอจนกว่าพาสก่อนหน้าจะเสร็จสิ้น

ฉันจะทำเช่นนี้ได้อย่างไร?

แมตต์


person Matt Moseley    schedule 22.11.2014    source แหล่งที่มา
comment
หากคุณใช้ jQuery โปรดอัปเดตแท็กของคุณ   -  person j08691    schedule 22.11.2014


คำตอบ (1)


ใช้วิธีเรียกซ้ำเช่นนี้แทนการวนซ้ำ ..

<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>
person Sampath Liyanage    schedule 22.11.2014