mailtrain/test/e2e/lib/worker-counter.js
2017-05-28 18:55:01 +02:00

35 lines
601 B
JavaScript

'use strict';
const Promise = require('bluebird');
class WorkerCounter {
constructor() {
this.counter = 0;
}
enter() {
this.counter++;
}
exit() {
this.counter--;
}
async waitForEmpty() {
const self = this;
function wait(resolve) {
if (self.counter === 0) {
resolve();
} else {
setTimeout(wait, 500, resolve);
}
}
return new Promise(resolve => {
setTimeout(wait, 500, resolve);
});
}
}
module.exports = WorkerCounter;