Периодическое обновление 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(), но я не знаю, подходит ли она в моем случае. Может кто-нибудь порекомендовать мне другое решение?

Заранее благодарю за любую помощь.

0 ответов

Другие вопросы по тегам