Прошу прощения, если это дубликат.
Допустим, у меня есть функция JavaScript, которая вызывает веб-сервис для извлечения некоторых данных. Я использую движущуюся графику, чтобы пользователь знал, что она работает. Когда он успешно получен, я изменяю изображение на галочку. Вот мой код:
getData: function() {
$("#button").attr("disabled", "true");
var params = {
doRefresh: false,
method: '/GetData',
onSuccess: new this.getDataCallback(this).callback,
onFailure: new this.getDataFailed(this).callback,
args: { text: $("#getData").val() }
};
WebService.invoke(params.method, params.onSuccess, params.onFailure, params.args);
}
Мне хотелось бы, чтобы через 5 минут этот процесс все еще не возвращал мои данные успешно, чтобы вызвать исключение или, что еще лучше, запустить мою функцию this.getDataFailed (this) .callback. Кажется ли это возможным с JavaScript? Я посмотрел на setTimeout () и setInterval (), и они, похоже, просто задерживают выполнение скрипта, в то время как я хочу буквально «прервать» длительный процесс. Есть идеи?
Кроме того, я открыт для любой критики / улучшений в моем коде, которые допускают эту функциональность.