3 javascript ajax heartbeat long-polling multitasking
我正在开发一个实现longpolling的应用程序,因为我希望用户在收到通知后立即收到通知.我有这个部分工作,但我还需要使用javascript函数扩展它,每20秒向服务器发送一次'heartbeat'.
我的问题:如何在不完全中断代码20秒的情况下执行此操作(以便其他javascript在计数时仍然执行)并且是否有某种方法可以使用第二个连接?因为当心跳发送给用户时,我不希望我的longpolling被中断.
有任何想法吗?
虽然下面的帖子很旧,但它表明浏览器在任何时候都允许通过XMLHttpRequest进行多个连接.
在流行的浏览器中允许多少并发AJAX(XmlHttpRequest)请求?
如果你有一个长轮询会话或者使用一个XMLHttpRequest或实现彗星的任何其他方式,你仍然可以创建另一个请求到同一台服务器作为一个的setInterval或setTimeout函数的一部分,直到你到达受到浏览器的有限的限制,所有的您需要确保在XHR的构造中包含异步标志:
var heartbeatXhr = new XMLHttpRequest();
heartbeatXhr.open('GET', '/polling-url', true); // true for asynchronous
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
711 次 |
| 最近记录: |