У меня есть код в следующей структуре.Намерение состоит в том, чтобы отправить запрос Ajax и повторить его несколько раз с задержкой между попытками:
$.ajax({
type: 'GET',
url: 'https://example.com',
retryLimit: 3,
attempt: 1,
success: function (data) {
doStuff();
},
error: function (data) {
if (this.attempt++ <= this.retryLimit) {
var retry = function () {
$.ajax(this);
};
setTimeout(retry, 1000);
} else {
handleError();
}
}
});
Проблема заключается в том, что при попытке вызова я получаю TypeError: Illegal invocation
1005 *.Я также попытался заменить обещаниями, как это:
new Promise(function(resolve) {
setTimeout(resolve, 1000);
}).then(function() {
$.ajax(this);
});
Но я получил ту же ошибку.Что происходит и как я могу решить эту проблему?
ПРИМЕЧАНИЕ. Я использую Atlassian SDK для создания плагина Jira, поэтому моя версия javascript кажется ограниченной.Я не уверен на 100% , какая версия у меня есть, но я знаю, что она не компилируется, когда я пытаюсь использовать функции стрелок.