Я сделал так, кроме функции 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 организовать этот код?