AngularJS Provider多实例

时间:2014-10-16 10:30:48

标签: javascript angularjs web websocket

我想问一下是否有可能在模块中使用像angular-websocket库这样的提供程序,并在角度ng-app的多个模块中使用它。

var 1stWebsocket = angular.module('1stWebsocket', [
    "angular-websocket"
]);

1stWebsocket.config(function(WebSocketProvider) {
    WebSocketProvider
        .prefix('')
        .uri('ws://'+SH_WS_CONSTANTS.SERVER_IP+SH_WS_CONSTANTS.CONTROL_PORT)
        .binaryType("arraybuffer");
});

1stWebsocket.service('1stWebsocket', [
    '$rootScope', 'WebSocket', function($rootScope,  WebSocket) {
      //Websocket code
    });


var 2ndWebsocket = angular.module('2ndWebsocket', [
    "angular-websocket"
]);

2ndWebsocket.config(function(WebSocketProvider) {
    WebSocketProvider
        .prefix('')
        .uri('ws://'+SH_WS_CONSTANTS.SERVER_IP+SH_WS_CONSTANTS.CONTROL_PORT)
        .binaryType("arraybuffer");
});

2ndWebsocket.service('2ndWebsocket', [
    '$rootScope', 'WebSocket', function($rootScope,  WebSocket) {
      //Websocket code
    });


  var app = angular.module('myApp', [

    '1stWebsocket',
    '2ndWebsocket'
]);

我只能看到一个websocket实例:(

我需要使用连接到不同端口的两个不同的websockets实例。

1 个答案:

答案 0 :(得分:1)

AngularJS提供商,工厂和服务都是单身人士。

How to create (singleton) AngularJS services in 4 different ways

https://docs.angularjs.org/guide/providers

您应该使用WebSocketCreator方法创建.create服务,每次都返回一个新实例。