ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2019-11-21 08:35:23  阅读:260  来源: 互联网

标签:angularjs sockets sockjs javascript


我正在尝试将sockjs与Angularjs配合使用,以帮助您: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方法并为“打开”提供回调.在那发送消息会很安全.该服务非常轻巧,实际上仅用于确保在摘要循环内调用三个SockJS客户端回调(onopen,onclose,onmessage).如果需要,您可以轻松地使用它来构建更复杂的服务,其中包括:

>在套接字关闭时将已发送的消息排队,并在套接字打开时将其发送
>返回套接字打开时解析的$q承诺

标签:angularjs,sockets,sockjs,javascript
来源: https://codeday.me/bug/20191121/2050478.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有