2011-08-11 33 views
0

我有一個array.each函數,它調用每個項目的JSONP請求並將代碼注入JSONP提要中的頁面。停止Array.each中最後一個完成之前的下一個項目?

但是,這些項目按錯誤順序注入,與順序不同。我假設發生這種情況是因爲下一個項目在第一個項目完成檢索其feed和注入之前通過.each函數運行。

如何強制每個「下一個」項目等待,直到前一個完成?

var list = new Array("1","2","3","4","5"); 

Array.each(list, function(item) 
{ 
    new request.JSONP.. 

    onComplete: function() 
    { 
     //inject code 
    } 
}); 

如果注入代碼輸出數組中的號碼,將每一次隨機:

2,4,5,1,3 

我想這是爲了:

1,2,3,4,5 

希望這是有道理的, 謝謝。

使用Mootools 1.3

回答

1

歡迎使用事件驅動的編程。

您需要從以前的'onComplete'中將每一個關閉,而不是嘗試從同一段代碼中將它們全部關閉。你可能通過讓每個人等待,直到你的onComplete設置了一個標誌,但是根據事件結構化你的代碼要好得多。

+0

聽起來或多或少我做了什麼,感謝這個想法。 :) 添加鏈接:'鏈',請求。現在都很好。 :d – Nicekiwi

相關問題