У меня есть таблица, которая должна динамически заполняться асинхронным ответом от API. API отсылает обратно JSON, который позже интерпретируется в строку для таблицы, и у меня он отлично работает.
Дело в том, что чем больше ответ JSON, тем больше времени требуется для обработки ответа (очевидно), поэтому, когда я поднимаюсь выше, чем 2k-3k элементов в массиве, JS, добавляющий строки в таблицу, запускается обработка ответа JSON занимает более 20 минут.
Есть ли способ оптимизировать это?
Вот пример моего процесса разбора:
function fillTable() {
let tbody = $('tbody');
for(let i = 0; i < 100; i++) {
let tr = $('<tr><td>' + (i + 1) + '</td><td>Table row ' + (i + 1) + '</td><td>' + (Math.random() * 1000) + '</td></tr>');
tr.appendTo(tbody);
}
}
fillTable();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<thead>
<tr>
<th>#</th>
<th>Description</th>
<th>Value</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
Очевидно, что фрагмент не отражает количество времени, необходимое для обработки JSON, но вы поняли идею.