26 lines
536 B
JavaScript
26 lines
536 B
JavaScript
|
var co = require('co');
|
||
|
var Queue = require('./');
|
||
|
|
||
|
co(function *(){
|
||
|
var queue = new Queue;
|
||
|
|
||
|
queue.push('a', 1);
|
||
|
queue.push('b', 2);
|
||
|
queue.push('c', 2);
|
||
|
|
||
|
// One consumer:
|
||
|
console.log(yield queue.next());
|
||
|
console.log(yield queue.next());
|
||
|
console.log(yield queue.next());
|
||
|
|
||
|
queue.push('a', 1);
|
||
|
queue.push('b', 2);
|
||
|
queue.push('c', 2);
|
||
|
|
||
|
// Three parallel consumers:
|
||
|
var consumers = [queue.next(), queue.next(), queue.next()];
|
||
|
console.log(yield consumers);
|
||
|
}).catch(function(err) {
|
||
|
console.error(err.stack);
|
||
|
});
|