1
Websocket 연결 시간을 측정하고 있습니다. 열려있는 범위를 서버 Object에 바인딩해야합니다. 그러나 나는 또한 처음부터 연결을 마치는 시간 인 시간 1을 가지고 있습니다. 나는 time1을 Object에두기를 원했다. Object는 잘 작동하지만 bind 함수에서는 아무 것도 사용하지 않는다.Javascript bind and this
for(var i = 0; i < 10; i++) {
Server[i] = new WebSocket('ws://127.0.0.1:9300');
var time1 = new Date;
Server[i].time1 = time1;
Server[i].bind('open', function() {
var time2 = new Date;
/*** doesn't work ***/
console.log(time2 - this.time1);
/*** doesn't work ***/
console.log(time2 - Server[i].time1)
/*** ***/
});
}
두 가지 방법 모두 시도하지 못했습니다. 바인딩에 다른이 있지만 사람이 나에게 각 서버 [1] 개체에 매번 보안을 설정하고이 바인딩 메서드에서 액세스 권한을 얻는 방법을 말해 줄 수 있습니까?
감사합니다.
UPDATE *
당신은 또한 제대로 당신과 같이 i
의 값을 통해 닫아야
this.conn.onopen = function(){dispatch('open',null)}
var dispatch = function(event_name, message){
var chain = callbacks[event_name];
if(typeof chain == 'undefined') return; // no callbacks for this event
for(var i = 0; i < chain.length; i++){
chain[i](message)
}
}