jii
Version:
Jii - Full-Stack JavaScript Framework
42 lines (34 loc) • 860 B
JavaScript
/**
* @author Vladimir Kozhin <affka@affka.ru>
* @license MIT
*/
;
const Jii = require('../../../BaseJii');
const QueueInterface = require('./QueueInterface');
class Blank extends QueueInterface {
preInit() {
this._queue = [];
super.preInit(...arguments);
}
/**
* Add message to queue
* @param {string} message
*/
push(message) {
return new Promise(resolve => {
this._queue.push(message);
setTimeout(() => resolve());
});
}
/**
* Get and remove message from queue
* @returns Promise
*/
pop() {
return new Promise(resolve => {
const message = this._queue.shift() || null;
setTimeout(() => resolve(message));
});
}
}
module.exports = Blank;