Javascript 同步XMLHttpRequest Strophe.js

Javascript 同步XMLHttpRequest Strophe.js,javascript,xmlhttprequest,xmpp,strophe.js,Javascript,Xmlhttprequest,Xmpp,Strophe.js,我正在使用Strophe.js(基于js的Xmpp库)。问题是我需要建立同步连接,以便我收到的响应顺序正确。但是,当我使用同步连接时,页面有点卡住了。即使右键单击打开控制台也需要几分钟 我在第页看到这个警告 主线程上的[Deprection]同步XMLHttpRequest为 不推荐使用,因为它会对最终用户的 经验如需更多帮助,请查看 请帮忙 警告只是告诉您,出于某种原因,人们非常喜欢使用异步调用 同步调用将阻止代码的其余部分,直到收到响应为止。不知何故,同步调用需要很长时间才能返回 如果不查看

我正在使用Strophe.js(基于js的Xmpp库)。问题是我需要建立同步连接,以便我收到的响应顺序正确。但是,当我使用同步连接时,页面有点卡住了。即使右键单击打开控制台也需要几分钟

我在第页看到这个警告

主线程上的[Deprection]同步XMLHttpRequest为 不推荐使用,因为它会对最终用户的 经验如需更多帮助,请查看


请帮忙

警告只是告诉您,出于某种原因,人们非常喜欢使用异步调用

同步调用将阻止代码的其余部分,直到收到响应为止。不知何故,同步调用需要很长时间才能返回

如果不查看代码,很难说出原因,但您可以尝试通过在浏览器中键入资源的URL来检索您试图获取的资源,并查看获取响应所需的时间,或者是否得到响应,以及是否看到任何错误

如果无法检索到资源,或者资源来得很慢,那么您就知道问题出在哪里,以及在哪里解决问题

有几种方法可以按正确的顺序获得XMLHttpRequest结果:

  • 使用同步调用并尝试确保服务器响应足够快
  • 使用异步调用,并在成功返回上一个调用后启动下一个调用(因此在上一个调用的回调中启动下一个请求)
  • 使用异步调用,存储请求编号,将响应存储在临时数组中,直到所有调用都返回,然后对它们进行排序
  • 一些时髦和现代的方式我不知道,但谷歌可能知道

@ocrudu感谢您的回复,让我更深入地告诉您我面临的问题。我有一个xmpp订阅,它为我提供事件,我处理这些事件并执行所有任务(UI管理+Api调用)。我需要这些事件的顺序正确,才能正常运行。但是由于异步,一些事件发生在另一个事件之后,反之亦然。这会干扰我的实现,因此我需要一种方法来同步事件(正确的顺序)。如果你能在这方面提供帮助,那就太棒了。