当前位置: 首页 > 面试题库 >

如何在webworker中连续发送xmlhttprequest?

龙昊焱
2023-03-14
问题内容

我是webworker的新手,但我设法将xmlhttprequest发送到我的rest
api,并且得到了json。但我想一次又一次(循环)发送此请求,直到页面处于活动状态。我实际上想实时显示值。我想制作一个简单的Web应用程序,在其中将数据插入数据库时​​,我的Webworker应该显示该数据而不刷新页面。有没有更好的方法可以做到这一点。请帮助我。对不起,英语不好。


问题答案:

您可以使用EventSource从服务器获取流,直到.close()在调用Worker,或者消息传递到Worker信令Worker以调用.close()

const es = new EventSource("/path/to/server");
es.addEventListener("open", function(event) {
  console.log("event source open")
});
es.addEventListener("message", function(event) {
  // do stuff with `event.data`
  console.log(event.data);
});
es.addEventListener("error", function(event) {
  console.log("event source error", event)
});

button.addEventListener("click", function() {
  es.close();
});


 类似资料:
  • 我正在使用https://react-pdf.org/的react-pdf包创建一个PDF生成器。将react-pdf组件转换为pdf的过程会阻塞主线程,因此我希望在一个单独的工作线程上转换它们。 我正在使用带有worker-loader的create-react-app来识别WebWorker文件。我很难找到将react组件导入Webworker并使用React-PDF提供的pdf(Compon

  • 问题内容: 我如何返回在MySQL中实际上是“连续的” GROUP BY。换句话说,GROUP BY是否尊重记录集的顺序? 例如,从下表中,col1是唯一的有序索引: 返回: 但我需要返回以下内容: 问题答案: 采用: 这里的关键是创建一个允许分组的人为值。 以前,更正了Guffa的答案:

  • 问题内容: 有没有检查连续日期的功能。我在处理以下问题时遇到问题: 我的表有一个包含以下数据的列: 给定的开始日期为,结束日期为。我想要的结果是: 有人可以建议什么吗? 问题答案: 我认为这是 “连续日期分组岛” 问题的一种变体。可以使用以下方法完成: SQL小提琴 结果 这是SQL Server 2005版本: SQL小提琴

  • 问题内容: 通过URLConnection发送“完整” cookie的正确方法是什么? 我一直在使用: myCookie值是testCookie = d1lEZk9rSHd3WnpBd2JkWGRhN1RYdz09OkEwQ21pSFJVZzBpVDhhUENaK3ZPV2c9PQ 有没有一种发送路径,域和过期的方法?您是否需要以某种方式对值进行编码? 问题答案: 好吧,如果您只设置一个cooki

  • 问题内容: 可以在连续流上使用吗? 我的意思是说是一条命令,但在输出中仅保留我感兴趣的行。 我已经尝试过了,但是似乎只能在完成后才能执行,也就是说永远不会执行。 问题答案: 使用BSD grep(FreeBSD,Mac OS X等)时,打开的行缓冲模式。 您无需为GNU grep(几乎在任何Linux上使用)执行此操作,因为它会默认刷新(对于其他类似Unix的版本,如SmartOS,AIX或QNX

  • 客户端通过HTTP请求(通过浏览器post)调用Servlet,然后Servlet应向外部网站发送请求(get),并从网站接收响应(post)。servlet继续响应并向客户端发送响应(post)。 我的问题是如何在Servlet中发送和接收请求/响应并将某些内容发送回客户端?