blob: d26273c0385e52b5648ad65cffded9ad8251c0ed [file]
export default class TaskQueue {
constructor() {
this.isReady = false;
this.failed = false;
this.queue = [];
}
execute() {
var fun;
if (this.failed) {
while ((fun = this.queue.shift())) {
fun(this.failed);
}
} else {
while ((fun = this.queue.shift())) {
fun();
}
}
}
fail(err) {
this.failed = err;
this.execute();
}
ready(db) {
this.isReady = true;
this.db = db;
this.execute();
}
addTask(fun) {
this.queue.push(fun);
if (this.failed) {
this.execute();
}
}
}