Показать сообщение отдельно
  #5 (permalink)  
Старый 12.02.2018, 14:43
Интересующийся
Отправить личное сообщение для Герасим Посмотреть профиль Найти все сообщения от Герасим
 
Регистрация: 22.09.2017
Сообщений: 24

Я сделал так, кроме функции func, сохраняю ещё объект к которому она относится self.
TSwitchDataSource.prototype.addSubscriber = function (self, func) {
        this.subcribers.push({self, func});
    }
...............
SWDataSource.addSubscriber(SwDataClient, SwDataClient.subcribe);//

И вызов теперь выглядит так:
//Рассылка изменений подписчикам
    TSwitchDataSource.prototype.sendStageToSubscribers = function () {
        var i = this.subcribers.length;
        while (i !=0 ){
            i--;
              this.subcribers[i].func.call(this.subcribers[i].self, this.stage);
        }
    }

Выглядит сложно, но работает!!! спасибо.
Как было бы красивее с точки зрения профи JS организовать этот код?
Ответить с цитированием