Как ожидать DataTable (). Ajax.url (). Load ()? - PullRequest
0 голосов
/ 03 июля 2019

Я мой код jQuery, мне нужно загрузить некоторые данные в DataTable, а затем делать вещи только после того, как этот DataTable был правильно заполнен.

Мой код в настоящее время выглядит так:

function f () {
    /* ... */
    $('#my_datatable').DataTable().ajax.url(my_url).load();
    /* Do some stuff */
}

f();
/* Do some more stuff */

И я хочу, чтобы /* Do some stuff */ или /* Do some more stuff */ выполнялись только после того, как мой DataTable был хорошо отображен.

Я довольно новичок в асинхронности JavaScript, поэтому я могу неправильно понять свои потребности, но думаю, что я бы хотелнравится делать что-то вроде:

async function f () {
    /* ... */
    await $('#my_datatable').DataTable().ajax.url(my_url).load();
    /* Do some stuff */
}

f().then (function () {
    /* Do some more stuff */
});

Это то, что я обычно делаю, когда хочу дождаться полного завершения $.get().

Есть ли способ сделать такойвещей с DataTable .ajax.url().load()?

1 Ответ

0 голосов
/ 09 июля 2019

Я обычно использую встроенный обратный вызов DataTables initComplete , если я хочу запустить некоторый код после полной инициализации таблицы, загрузки и отрисовки данных.

$('#example').dataTable( {
  "initComplete": function(settings, json) {
    alert( 'DataTables has finished its initialisation.' );
  }
} );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...