在继续之前等待.each完成(jquery)

时间:2012-04-11 01:28:08

标签: javascript jquery

我正在使用jquery中的每个函数,看起来它正在转移到一个函数,它需要每个循环的结果才能完成...这里是代码

$.each(array, function(index, value) { 
  prob[value] = get_probs(value);
});

sim(prob);

function sim(prob){
  //alert ("test");
  alert (prob[value]);
  new_sim(prob[value]); 
}

如果我取消注释警报(“测试”);它显然会显示一个警报,然后它将在第二个警报中显示正确的数字,但是,如果我保持原样,它会返回undefined,我只能假设是因为它已经进入了sim函数而没有完成每个循环

无论如何我可以让sim函数等到每个循环完成后再运行吗?

注意:代码多于此,但我试图简化...如果有任何不清楚的地方,请告诉我。我最终会多次运行sim函数,这就是为什么我要像这样设置它

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

.each循环应该按顺序运行,在它完成之前不应执行任何操作。

如何运行此代码:

sim(prob);

function sim(prob){
  //alert ("test");
  alert (prob[value]);
  new_sim(prob[value]); 
}

在get_probs的成功回调中,同步ajax调用永远不是答案。