Периодическое обновление ajax
Я знаю, что есть много вопросов на эту тему, но я действительно не мог найти ничего, что подходит для моего случая. Я определил эту функцию в JavaScript:
self.ajax = function(uri, method, data) {
var request = {
url: uri,
type: method,
contentType: "application/json",
accepts: "application/json",
cache: false,
dataType: 'json',
data: JSON.stringify(data),
error: function(jqXHR) {
console.log("ajax error" + jqXHR.status);
}
};
return $.ajax(request);
}
И позже я вызываю эту функцию так:
self.ajax(self.tasksGetUri, 'POST', self.jsonRequest).done(function(data) {
for (var i = 0; i < data.tasks.length; i++) {
self.tasks.push({
user_id: ko.observable(data.tasks[i].user_id),
task_id: ko.observable(data.tasks[i].task_id),
done: ko.observable(data.tasks[i].done)
});
}
$(document).ready(function() {
for (var i = 0; i < self.tasks().length; i++) {
task = $("#" + self.tasks()[i].task_id());
if (task.length) {
task.slideUp(400);
task.parent().find(".unFinishedTask").hide();
task.parent().addClass("finished");
task.parent().find(".showTask").show();
}
}
});
});
Хорошо, я хочу, чтобы этот вызов функции выполнялся периодически вместе с функцией return 'done()'. Я знаю, что есть функция setInterval(), но я не знаю, подходит ли она в моем случае. Может кто-нибудь порекомендовать мне другое решение?
Заранее благодарю за любую помощь.