Есть ли способ вызвать обновления просмотров сразу после операции CRUD - PullRequest
0 голосов
/ 03 июня 2019

У меня простое приложение CRUD.Когда я выполняю ajax-вызов для удаления (например) документа, я хочу обновить представление новым списком документов.

Я пытался использовать ajaxStop / ajaxSuccess и setTimeout.SetTimeout работает хорошо, но результат, который я ищу, без времени ожидания.При использовании ajaxStop / ajaxSuccess иногда представление обновляется.

const getAllDocument = () => {
        $.ajax({
            url: '/elastic/index/person',
            method: 'POST',
            global: false
        }).done(function(data){
                $("#personTable").empty();
                dataLength = data.length;
                for (let i = 0; i < data.length; i++) {
                    $("#personTable").append(data) // Just example
                }
        }).fail(function(err){
                console.log(err);
        });
    }

$('#confirmDelete').on('click', function () {
        let docType = $("#personTypeDelete").html();
        let _id = $("#personIdDelete").html();
        let data = {
            docType: docType,
            _id: _id
        }
        $.ajax({
            url: '/delete',
            method: 'DELETE',
            data: data

        }).done(function(data) {
            toastr.success("Delete person succeed!", '', toastOption);
            getAllDocument();
        }).fail(function(err) {
            toastr.error("Delete person failed!", '', toastOption);
            console.log(err);
        });
    });

Я ожидаю, что personTable будет обновлен новым списком сотрудников, за исключением удаленного документа сразу после его удаления.Есть ли какой-либо метод или ключевое слово может помочь мне решить эту проблему?

1 Ответ

0 голосов
/ 03 июня 2019

Да, Refresh:

https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-refresh.html

https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-refresh.html

The Index, Update, Delete, and Bulk APIs support setting refresh to control 
when changes made by this request are made visible to search.

Но это не рекомендуемый способ использования Elasticsearch, Elasticsearch небаза данных в реальном времени, но база данных почти в реальном времени.Принудительное обновление в огромных кластерах в Elasticsearch никогда не является хорошей идеей.

Так что используйте это, если вы знаете, что делаете =)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...