我有一个array.each函数,它为每个项调用JSONP请求,并从JSONP提要中将代码注入页面。
但是,项目的输入顺序错误,与Feed中的连续顺序不同。我假设发生了这种情况,因为它在第一次运行之前通过.each函数运行的下一个项目一旦完成检索其feed并注入。
如何强制每个“下一个”项目等待,直到前一个项目完成?
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
答案 0 :(得分:1)
欢迎使用事件驱动编程。
你需要从之前的'onComplete'中解除每一个,而不是试图从同一段代码中解除它们。 可以通过让每个人等到你的onComplete设置了一个标志来做到这一点,但是根据事件构建代码要好得多。