@proger_brut

Как достать метод объекта в JS через this?

obj1.prototype.f1= function(){
  requester = zmq.socket('req');
  requester.connect(config.handshakeSocket);
  requester.on('message', function(data){
    this.f2();
  }
}
obj1.prototype.f2= function(){
}


при обращении к this получаем requester, а как получить obj1?
  • Вопрос задан
  • 2294 просмотра
Решения вопроса 1
standy
@standy
obj1.prototype.f1= function(){
  var _that = this;
  requester = zmq.socket('req');
  requester.connect(config.handshakeSocket);
  requester.on('message', function(data){
    // _that == obj1
    _that.f2();
  }
}
obj1.prototype.f2= function(){
}


Это называется замыкания, и об этом много чего написано. Вот, например: habrahabr.ru/post/38642
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы