gpt4 book ai didi

Javascript:Phoenix channel 立即进入错误状态

转载 作者:行者123 更新时间:2023-11-27 23:38:40 25 4
gpt4 key购买 nike

在我的网络应用程序中,我使用 Javascript 连接到 Phoenix channel 。

  this._channel = socket.channel("user:" + username, {password: password})
this._channel.join()
.receive("ok", this._handleLoginSuccess.bind(this))
.receive("error", this._handleLoginFailure.bind(this))
.after(10000, () => console.log("Networking issue. Still waiting..."))

服务器成功处理join,并且正确调用_handleLoginSuccess回调。但是,当启动 JS 调试器并查看 this._channel 时,一旦调用回调,它就已经处于“错误”状态,并且我也无法向其推送任何消息。但我也看到 joinedOnce 设置为 true,所以那里肯定出了什么问题。

由于服务器端没有报告任何错误,我想知道发生了什么。有什么想法吗?

最佳答案

我发现了问题:它与实时重新加载机制有关,该机制以某种方式导致 websocket 始终被终止并重新建立。通过注释下面的行来禁用实时重新加载后,我的常规 channel 再次正常工作。

#if code_reloading? do
# socket "/phoenix/live_reload/socket", Phoenix.LiveReloader.Socket
# plug Phoenix.LiveReloader
# plug Phoenix.CodeReloader
#end

关于Javascript:Phoenix channel 立即进入错误状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33904270/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com