Зависание при изменении DOM в цикле Ajax

93
30 сентября 2019, 02:20

здравствуйте! Прошу помощи или совета, как поступить в следующей ситуации, для достижения наибольшей производительности в $(arr).each(function(){ где кол-во элементов 120 и каждые 10 секунд выполняется Ajax запрос, в котором приходится делать итерацию со сравнением })?

Имеется массив:

var Arr = [
{
hw: 1
i: 123
id: 1234
netconn: 0
nm: "Name"
ph: ""
pos: {t: 1549890177, f: 1073741829, lc: 0, y: 54.753635, x: 52.00354, …}
uid: "123456789"
uri: "*.png
},
{},{},{}...
]

Который содержит около 100 элементов. Столкнулся с проблемой зависания, при выполнении операции с DOM.

Ситуация такая, что при загрузке страницы, на основе этого массива из контроллера приходит ViewData[], содержащий первоначальный данный массив. Далее в цикле одним разом, формируется список с HTML

<ul>
@foreach(var i in ViewData["Массив"])
{
<li data-id="@i.id">@i.nm</li>
}
</ul> 

, с атрибутами из этого перечисления.

Потом, используя SignalR, по таймеру идет запрос, на получение списка по 100 и более объектов.

Используя селектор Jquery, в цикле получаю элемент, в котором постоянно сравниваю атрибуты и текст. Если они не совпадают, то делаю $(el).attr('атрибут','Новое значение'). Проблема в том, что значения часто изменяются и приходится делать изменение атрибута в DOM, что сильно тормозит клиента.

READ ALSO
Ошибка 429 Instagram API

Ошибка 429 Instagram API

У меня есть сайт, где размещены публикации из Instagram при использовании JS-плагина InstafeedНо почему-то Instagram API выдает ошибку 429

125
Чем является имя свойства объекта?

Чем является имя свойства объекта?

Когда создается объект через литерал, вот так

102
Не получается обновить страницу

Не получается обновить страницу

Есть html страница с кодом

124
React.js - { loadingElement } не является функцией

React.js - { loadingElement } не является функцией

При запуске yarn test возникает множество ошибок, что функция loadingElement, ей не является TypeError: loadingElement is not a function

138