如何解决同步XMLHttpRequest Strophe.js
我正在使用Strophe.js(基于JS的Xmpp库)。问题是我需要建立同步连接,以便我收到的响应是正确的顺序。但是,当我使用同步连接时,页面排序变得卡住了。即使右键单击以打开控制台也需要几分钟。
我在页面上收到此警告。
[Deprecation]主线程上的同步XMLHttpRequest是 不推荐使用,因为它对最终用户的不利影响 经验。如需更多帮助,请检查https://xhr.spec.whatwg.org/。
请帮助!
解决方法
警告只是告诉您,出于某种原因,使用异步调用是非常可取的。
同步调用将阻塞您的其余代码,直到收到响应为止。不知何故,您的同步呼叫返回需要很长时间。
不查看代码就很难说出原因,但是您可以尝试通过在浏览器中键入其URL来获取尝试获取的资源,并查看获取响应需要多长时间,或者完全没有反应,如果您发现任何错误。
如果无法检索资源或资源使用缓慢,您就会知道问题出在哪里以及在哪里解决。
有一些方法可以以正确的顺序获取XMLHttpRequest结果:
- 使用同步呼叫并尝试确保服务器响应足够快;
- 使用异步调用并在成功返回上一个请求后开始下一个调用(因此,在上一个请求的回调中启动下一个请求);
- 使用异步调用,存储请求号,将响应存储在临时数组中,直到所有调用返回,并对它们进行排序;
- 我不知道一些时髦而现代的方式,但Google可能知道。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。