0

我正在使用 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]); 
}

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

无论如何我可以让 sim 函数等待运行,直到每个循环完成?

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

谢谢你的帮助!

4

1 回答 1

0

.each 循环应该按顺序运行,在它完成之前什么都不应该执行。

如何运行此代码:

sim(prob);

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

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

于 2012-04-11T01:30:37.720 回答