0
在AngularJS应用程序中使用web套接字。
当用户注销web套接字连接时,客户端关闭。 我需要在用户重新登录时重新连接Web套接字。
的web套接字包含在服务中(代码简化了一下):AngularJS:在服务中重新连接WebSocket
angular.module('myApp').factory("SubscriptionFactory", function() {
var Service = {};
var ws = new WebSocket("ws://127.0.0.1:8000");
/* WS methods (onopen, onmessage ect) left out for simplicity */
Service.reestablishConnection = function() {
// Reestablishing connection
ws = new WebSocket("ws://127.0.0.1:8000");
}
return Service;
的问题是,网络插座的新实例不起作用。
根据this question,web套接字需要在其重新创建时将其处理程序重新附加到该对象。
但是一个AngularJS服务是一个单例(根据this question应该保持单身)。
如何在我的AngularJS单例服务中重新创建Web套接字实例?