gpt4 book ai didi

javascript - 带有 Angularjs 的 sockjs - 错误 : INVALID_STATE_ERR

转载 作者:行者123 更新时间:2023-11-29 10:42:34 26 4
gpt4 key购买 nike

我正在尝试将 Angularjs 与 sockjs 结合使用,我正在使用它来提供帮助:https://github.com/bendrucker/angular-sockjs

我想在页面加载时通过 sockjs 发送一些数据,但是当我尝试进行以下调用时,客户端出现错误:INVALID_STATE_ERR:

socket.send("test data");

我认为这是因为 Sockjs 还没有“准备好”。如果我将它包装在 $timeout 中,如果延迟足够大,它就会工作。 1000 个有效,但 100 个无效。

$timeout(function() {
socket.send("test");
}, 1000);

这显然是一个 hack,我想知道如何检测 sockjs 何时准备就绪,以便我可以进行调用。

最佳答案

你应该使用 setHandler方法并为 'open' 提供回调。在那里发送消息是安全的。该服务非常轻巧,实际上仅用于确保在摘要中调用三个 SockJS 客户端回调(onopenoncloseonmessage)循环。如果需要,您可以轻松地使用它来构建更复杂的服务,在许多可能性中可以:

  • 在套接字关闭时将发送的消息排队,并在打开时发送它们
  • 返回一个 $q promise ,在套接字打开时解析

关于javascript - 带有 Angularjs 的 sockjs - 错误 : INVALID_STATE_ERR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25833618/

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