我对以下代码有疑问:
jQuery.each 正在加速而不等待 JSON 请求完成。因此,“thisVariationID”和“thisOrderID”变量会被循环的最新迭代重置,然后才能在较慢的 getJSON 函数中使用。
有没有办法让 .each 的每次迭代都等到 getJSON 请求和回调函数完成,然后再进行下一次迭代?
$.each($('.checkStatus'), function(){
thisVariationID = $(this).attr('data-id');
thisOrderID = $(this).attr('id');
$.getJSON(jsonURL+'?orderID='+thisOrderID+'&variationID='+thisVariationID+'&callback=?', function(data){
if (data.response = 'success'){
//show the tick. allow the booking to go through
$('#loadingSML'+thisVariationID).hide();
$('#tick'+thisVariationID).show();
}else{
//show the cross. Do not allow the booking to be made
$('#loadingSML'+thisVariationID).hide();
$('#cross'+thisVariationID).hide();
$('#unableToReserveError').slideDown();
//disable the form
$('#OrderForm_OrderForm input').attr('disabled','disabled');
}
})
})