Я как Винни-Пух - "ничего не понимаю".
Скопипастил пример
tropiko, внес туда нужные мне исправления - всё работает. И работает так, как не работало в проекте.
Опять вношу изменения в проект (1 в 1 нерабочий вариант из-за которого пост создал) и вуаля! Всё работает. Вот как так?
Одного не пойму - почему "this.IncomingQueue is undefined", а "this.EngineRunning == true" ?
function obj() {
var EngineRunning = true;
var IncomingQueue = [ 'element1', 'element2' ];
//и другие свойства
this.StartEngine =
function() {
var self = this;
this.ThreadExecID =
setTimeout(
function(){
setInterval(
function() {
ThreadExec.call(self);
},
self.ExecInterval
);
},
self.InterThreadInterval * 2
);
},
var ThreadExec =
function(){
if( !this.EngineRunning ) return;
if( this.IncomingQueue.length > 0 ) {
//..............
}
}
}
var obj = new obj();
obj.StartEngine();