刚开始使用 Firebase(BTW 很棒的概念),我注意到在 Chrome 控制台中它报告“WebSocket 在建立连接之前已关闭”
它仍然有效,但想知道为什么会发生这种情况 - 有什么需要担心的吗?
有趣的是,它确实表明存在成功的 websocket 连接。
谢谢
刚开始使用 Firebase(BTW 很棒的概念),我注意到在 Chrome 控制台中它报告“WebSocket 在建立连接之前已关闭”
它仍然有效,但想知道为什么会发生这种情况 - 有什么需要担心的吗?
有趣的是,它确实表明存在成功的 websocket 连接。
谢谢
这是一个已知的问题。Firebase 客户端尝试使用多种方法与 Firebase 服务器建立实时连接。如果其中一种方法在 Websocket 之前成功,我们将取消 Websocket,您会看到该警告。您可以放心地忽略该错误。
几周以来,我一直在解决这个问题,并且可以始终如一地重现它。有时我会收到WebSocket is closed
警告,有时是实际错误:
WebSocket 连接到 'wss://s-usc1c-nss-214.firebaseio.com/.ws?v=5&ns=foo' 失败:WebSocket 打开握手超时
有一个很长的支持电子邮件链。他们表示“像你的应用那样建立连接应该不会那么久”,并且“这似乎在谷歌网络之外,没有任何进一步的数据,这可能只是普通的互联网连接混乱。”
但我同意上面的@Xi Xiao,“冻结30秒不是一个合格的解决方案”。我创建了一个 GitHub 问题,详细说明了问题并提出了几个解决方案。
这在我的赛普拉斯 e2e 测试中造成了不稳定。作为临时解决方案,我必须按照Cypress docs中的指定在 Cypress config 中defaultCommandTimeout
进行设置。35000