如何销毁一个angular工厂实例



一方面,我有几个工厂,每个工厂控制一个websocket。

另一方面,这些工厂中的一个应该在客户端被记录时启动,所以:

if(user.isLogged()){
 $injector.get('NotificationsWebsocket')
}

这就是我动态初始化工厂的方式,当用户注销时问题就出现了

我不知道如何删除angular实例工厂的实例或如何销毁NotificationsWebsocket。我试图关闭套接字,但当我再次登录时,套接字没有连接,因为工厂没有重新实例化。

不能销毁工厂,它们是单例的,只有在模块第一次需要它们时才会创建一次。

您可以在工厂中添加两个方法:setup(), close(),它们将创建和关闭套接字。

用户登录时呼叫setup(),注销时呼叫close()

相关内容

  • 没有找到相关文章

最新更新