我对使用 Socket.IO 的实时数据非常陌生。我想弄清楚在AngularJS ng-repeat中处理来自Socket.IO的数据的最佳方法是什么?
现在,每当有更新时,我都会让后端发送整个数据结构。
但这会导致ng-repeat
刷新以显示新数据(如果我仅在客户端对数据进行任何修改,它们会在下次从后端发送数据时被删除)。有一个更好的方法吗?
我是否应该过滤掉唯一需要在后端更新的数据,然后将其发送到前端,而不是再次交付整个数据结构?(但是我将如何在ng-repeat
仅使用更新数据的情况下应用它......)
我尝试在前端使用 UnderscoreJS 扩展方法,但它似乎会导致数据排序出现问题ng-repeat
(orderBy 和 filter 都中断)。
我的具体用例是处理运动成绩(数组中的几场比赛(对象)),我会不断更新我的数据,无论它们是比赛中的时间变化,还是得分比赛。更新几乎每秒都在发生。我正在利用这个特定的 API 并获取特定刷新变量上的所有数据,然后通过套接字将其发送到前端。不是真正使用套接字的理想情况,但它是与我迄今为止发现的 API 交互的唯一方法。