Я строю измерение времени для соединения с Websocket. Мне нужно связать открытую область с объектом сервера. Но у меня также есть время1, время от начала до конца соединения. Я хотел поставить time1 в Object, который работает нормально, но у меня нет доступа к нему в функции bind.Связывание Javascript и это
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 к каждому серверу [i] Object, а затем получить доступ к нему в этом методе связывания?
Спасибо!
UPDATE *
Не могли бы вы рассказать, как изменить эту функцию, так что работает правильно
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)
}
}