sockjs with Angularjs - Error: INVALID_STATE_ERR
sockjs with Angularjs - Error: INVALID_STATE_ERR
我正在尝试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);
这显然是一次黑客攻击,我想知道如何检测sockjs何时准备好,这样我就可以打电话了。
您应该使用setHandler
方法并为'open'
提供回调。在那里发信息是安全的。该服务非常轻,实际上只是为了确保在摘要周期内调用三个SockJS客户端回调(onopen
、onclose
、onmessage
)。如果你愿意,你可以很容易地使用它来构建一个更复杂的服务,在许多可能性中可以:
- 套接字关闭时排队发送消息,打开时发送消息
- 返回一个
$q
承诺,该承诺在套接字打开时解析
相关文章:
- 混合 ui-sref 和 $state.go 在 Angular ui-router 中进行状态转换
- chrome.tabs.update() 重定向到 'chrome-extension://invalid/'
- 在$state.go之后执行$window.location.reload(true)
- FB.login Invalid redirect_uri (xd_proxy.php)
- 使用Angularjs$state.go导航
- 如何删除'被按压'state from复选框
- 将Json解析为State
- $state没有'导航不正确
- Angular State Dropdown Bound to Country Select
- 将$scope数据传递给$stateProvider.state解析
- $state.go没有兑现承诺
- AJAX 请求没有在我的 React 组件中设置 this.state.data
- 离子范围值未更新 在$state之间导航
- Angularjs:将对象params传递给state
- 如果$invalid,禁用按钮angular
- 在jQuery中,.state()如何确定一个承诺是挂起的、已解决的还是被拒绝的
- 如何通过javascript从state.xml文件中检索所有状态名称
- 如何在用户更新AngularJs中的控制器时刷新$state
- Highcharts点击事件返回“;悬停”;state而不是“state”;选择“;状态
- 将C#RegEx转换为JavaScript会出现错误Invalid Group