Мне нужно сделать запрос к нашему API для проверки флага в записи нашей БД. Я могу сделать этот запрос «n» раз максимальным. Если я не найду правильное значение, я верну ошибку.Асинхронный запрос рекурсивно
Я попытался использовать атрибут JQuery async:false
, чтобы сделать запрос async синхронным без эффекта (и я видел, что это устарело).
Другой вариант - сделать запрос AJAX рекурсивно, но AJAX кэширует значение. Я использовал cache:false
без эффекта.
Я ищу другие альтернативы (библиотеки узлов, шаблоны, ...), но до сих пор не повезло.
Кто-то решил аналогичную проблему?
UPDATE 1: Мой последний код с рекурсивным вызовом
function checkPay(initialResponse, attempts){
if (attempts == 50){
console.log("Something goes wrong after 50 attempts...");
console.log("Let's restart and try again");
} else {
ajax.jsonRequest('get', 'check_pay', {transactionID: "123FOO"}) //A simple wrapper for $.ajax
.done(function(responseStatus){
if (responseStatus.status == "PENDING"){
console.log("Still waiting...");
checkPay(initialResponse, attempts + 1);
} else if (responseStatus.status == "ACCEPTED"){
console.log("Yuhuu!!!");
} else if (responseStatus.status == "REJECTED") {
console.log("Ooops...");
} else {
console.log("Wat?");
}
}).fail(function(error){
console.log("ERROR", error);
return "REJECTED"
});
}
}
пожалуйста показать код. –
@AxelAmthor сообщение обновлено с кодом;) –
Так в чем же проблема? –