2016-08-30 28 views
0

我有一個角資源,看起來像這樣防止角

angular.module('hubProxy', ['ngResource']) 
    .factory('eventStream', ['$rootScope', function ($rootScope) { 
     'use strict'; 


     return { 

      on: function (eventName, callback) { 
       var connection = $.hubConnection(); 
       var hubProxy = connection.createHubProxy('mainHub'); 

       hubProxy.on(eventName, function() { 
        var args = arguments; 
        $rootScope.$apply(function() { 
         callback.apply(hubProxy, args); 
        }); 
       }); 

       connection.start(function() { console.log('connection started!'); }); 

      } 
     }; 
    }]); 

我需要多次調用這個資源,但是我不想讓建立新連接到集線器的附加連接在SignalR JS客戶端

所以我要麼需要每次斷開,或回收現有連接

回答

0

我想,你需要回收的現有連接。

試試這個

angular.module('hubProxy', ['ngResource']) 
.factory('eventStream', ['$rootScope', function ($rootScope) { 
    'use strict'; 

    var connection = $.hubConnection(); 
    var hubProxy = connection.createHubProxy('mainHub'); 
    connection.start(function() { console.log('connection started!'); }); 
    return { 
     on: function (eventName, callback) {    
      hubProxy.on(eventName, function() { 
       var args = arguments; 
       $rootScope.$apply(function() { 
        callback.apply(hubProxy, args); 
       }); 
      }); 
     } 
    }; 
    }]);