Я рад сообщить, что есть способ ... но он немного противный.
Если вы уверены, что запрос должен что-то вернуть, вы можете удалить часть "tryIteration".
$(document).ready(function() {
loop(".buttonsPromotion", 0);
});
function loop(elements, tryIteration) {
//HOW MANY TRIES UNTIL WE STOP CHECKING
if(tryIteration<7){
$(elements).each(function() {
var actuel = $(this);
$.ajax({
url: "write your link here",
data: {},
dataType: 'json',
async: true,
success: function(data){
//HERE WE KNOW THE AJAX REQUEST WENT OK
actuel.addClass('AjaxOK');
},
error:function(thrownError){
console.log(thrownError);
//WE MAKE ANOTHER EACH ON ALL ELEMENT THAT WENT BAD
var elemToRetry = actuel.not('AjaxOK');
loop(elemToRetry, ++tryIteration);
}
});
});
}
}