javascript - 如何从 REST API 高效且定期刷新 Bootstrap 4 表的内容?

标签 javascript ajax websocket bootstrap-4 web-worker

我想根据从服务器端获取的值(例如 REST API 资源)刷新 Bootstrap v4 表 ( https://getbootstrap.com/docs/4.0/content/tables )。

我目前正在努力解决以下不同的方法:

  • 网络套接字
  • 网络 worker
  • 递归setTimeout + ajax轮询
  • 还有其他更好的解决方案吗?

我的主要要求是每 500 毫秒或更短时间刷新一次(例如股票价格)。

我还想知道如何最有效地处理表格的 DOM 渲染。

最佳答案

Web Workers 无法直接与 DOM 交互,而且您的任务也不是那么密集。

我想说的是 WebSockets + DOM 通过(数据)属性和单独的节点插入进行操作,而不是一次插入大量节点。它可能会慢一点,但没有太大区别,您甚至可能没有注意到它。请参阅Fastest DOM insertion

我会单独更新内容,因为: 1)它更整洁且可维护, 2)您无需担心事件委托(delegate)或特定内容的重新初始化 3)流程感觉更自然,而不是仅仅获取大量标记并将其“粘贴”到 DOM 中。

如果您不会添加新节点,而只是监听现有节点上的数据更改,那么我明确建议进行基于属性的更改。

关于javascript - 如何从 REST API 高效且定期刷新 Bootstrap 4 表的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50455215/

相关文章:

angularjs - $http 问题 - 在 md-autocomplete Angular Material 中解决 promise 之前无法返回值

nginx - 如何在Kubernetes中为多个服务设置粘性 session ?

ssl - 内网应用程序中具有自签名证书的 Websocket 服务器

javascript - 如何在页面卸载时执行 ajax 调用?

javascript - Canvas : Find corners of a card in Image

javascript - Spring Security CSRF token 不适用于同一 JSP 中的 AJAX 调用和表单提交

javascript - 什么是 __defineGetter__() 和 __defineSetter__() 函数?

javascript - 如何防止自动点击赞成票/反对票按钮的垃圾邮件?

c# - 将 OwinHttpRequestContext 转换为 HttpContext? (IHttpHandler 和 websockets)

javascript - Extjs间歇性错误