2016-10-25 5 views
0

私は、次のイベントを持っているのWebSocket(ジャバスクリプト)を使用しています:角度多重イベント

ctrlScope.conn.onerror = function() { 
     ctrlScope.updateStatus(); 
    }; 

    ctrlScope.conn.onclose = function() { 
     ctrlScope.updateStatus(); 
    }; 

    ctrlScope.conn.onopen = function() { 
     ctrlScope.updateStatus(); 
    }; 

あなたは、私はこれらのイベントを使用してチャットのステータスをupdathingていますが、それはrepetativeに見える見ることができるように、そこにあります1つのWebsocketイベントをすべて組み合わせる方法はありますか?

ctrlScope.conn[onError][onClose][onOpen] = function() { 
    ctrlScope.updateStatus(); 
}; 

さらに、Websocket変数:readyStateは、イベントと同じ接続状態を提供します。これは機能の面倒を置き換えることができますが、$ watchは機能しません。

してください、私はこのコードを試していないが、理論的には、あなたがこのようにそれを書くことができるいくつかのいずれかの助け:(

答えて

1

:これは参照するjavascriptの能力を活用している

var handlers = ["onerror","onclose","onopen"]; 
for(var i=0;i<handlers.length;i++){ 
    ctrlScope.conn.[handlers[i]] = ctrlScope.updateStatus; 
}; 

ドット表記法(ctrlScope.conn.onopen)または配列表記法(ctrlScope.conn ["onopen"])を使用する要素