Firebase同步XMLHttpRequest已过时

18

Firebase的ping服务正在使用同步XMLHttpRequest,由Google Chrome报告如下:

在主线程上使用同步XMLHttpRequest已被弃用,因为它对最终用户的体验产生不利影响。如需更多帮助,请查看http://xhr.spec.whatwg.org/

这个问题的根源来自于:

.lp?dframe=t&id=612050&pw=gcdpSrzjvk&ns=myapp:5

这是 Firebase 中的 bug 吗?目前还没有引起任何问题。但是在未来,浏览器可能会弃用同步 XHR。


你解决了这个问题吗?我现在也遇到了同样的问题。 - Yatin
还没有。Firebase团队需要修复这个bug。 - Mohammad
现在它正在造成问题,因为登录后我的视图无法加载。 - Yatin
一个弃用警告 !== 一个错误。那个消息是无害的。 - Kato
2个回答

28

这个错误只会出现在回退到长轮询的客户端中。

只有在关闭页面、离开页面或刷新页面时,您才应该看到它。

Firebase客户端选择同步XHR告诉服务器它正在断开连接。这样,服务器可以立即运行您指定的任何onDisconnect()函数的逻辑。否则,客户端必须依赖超时,这可能需要一两分钟。

当页面刷新并且控制台中出现持续时间时,通常会看到此消息。

但是,不用担心,这是故意的,对您的应用程序也没有任何伤害。


我不知道,它会严重拖慢我的应用程序。 - blackend
1
谢谢David!你的解释非常清晰易懂。顺便说一下:如果你不断地运行goOffline和goOnline...它也会显示同样的原因。 - Fabio Nolasco

1

是的,我确信这是Firebase的一个错误。更具体地说,我相信这与Firebase的服务状态有关。每当出现间歇性的服务中断(Firebase支持随后确认)时,我都会始终收到此错误,然后当服务恢复时,错误就不再发生了(可能是因为WebSockets再次工作,因此Firebase客户端不再回退到XHR轮询)。

另外,值得一提的是,在本地开发时比在实时生产服务器上更频繁地发生这种情况,这希望意味着Firebase正在适当地优先处理流量。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接