Refactor Queue.js.
This commit is contained in:
parent
d27684d280
commit
e1ebc1e692
47
src/Queue.js
47
src/Queue.js
|
@ -20,49 +20,40 @@ jasmine.Queue.prototype.insertNext = function (block) {
|
||||||
};
|
};
|
||||||
|
|
||||||
jasmine.Queue.prototype.start = function(onComplete) {
|
jasmine.Queue.prototype.start = function(onComplete) {
|
||||||
var self = this;
|
this.running = true;
|
||||||
self.running = true;
|
this.onComplete = onComplete;
|
||||||
self.onComplete = onComplete;
|
this.next_();
|
||||||
if (self.blocks[0]) {
|
|
||||||
self.blocks[0].execute(function () {
|
|
||||||
self._next();
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
self.finish();
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
jasmine.Queue.prototype.isRunning = function () {
|
jasmine.Queue.prototype.isRunning = function () {
|
||||||
return this.running;
|
return this.running;
|
||||||
};
|
};
|
||||||
|
|
||||||
jasmine.Queue.prototype._next = function () {
|
var nestLevel = 0;
|
||||||
|
|
||||||
|
jasmine.Queue.prototype.next_ = function () {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
if (self.index < self.blocks.length) {
|
||||||
|
self.blocks[self.index].execute(function () {
|
||||||
var doNext = function () {
|
var doNext = function () {
|
||||||
self.offset = 0;
|
self.offset = 0;
|
||||||
self.index++;
|
self.index++;
|
||||||
if (self.index < self.blocks.length) {
|
self.next_();
|
||||||
self.blocks[self.index].execute(function () {
|
|
||||||
self._next();
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
self.finish();
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
var now = new Date().getTime();
|
var now = new Date().getTime();
|
||||||
if (this.env.updateInterval && now - this.env.lastUpdate > this.env.updateInterval) {
|
if (self.env.updateInterval && now - self.env.lastUpdate > self.env.updateInterval) {
|
||||||
this.env.lastUpdate = now;
|
self.env.lastUpdate = now;
|
||||||
this.env.setTimeout(doNext, 0);
|
self.env.setTimeout(doNext, 0);
|
||||||
} else {
|
} else {
|
||||||
doNext();
|
doNext();
|
||||||
}
|
}
|
||||||
|
});
|
||||||
};
|
} else {
|
||||||
|
self.running = false;
|
||||||
jasmine.Queue.prototype.finish = function () {
|
if (self.onComplete) {
|
||||||
this.running = false;
|
self.onComplete();
|
||||||
if (this.onComplete) {
|
}
|
||||||
this.onComplete();
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue