You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

24 lines
512 B
JavaScript

"use strict";
const pushBuffer = require("./");
function promiseDelay(time) {
return new Promise((resolve, reject) => {
setTimeout(resolve, time);
});
}
(async function () {
let i = 0;
let buffer = pushBuffer({
lanes: 2,
pull: async () => promiseDelay(Math.random() * 50).then(() => i++),
select: (value) => value % 2
});
for (let n = 0; n < 100; n++) {
buffer.request(n % 2).then((value) => console.log(`[lane ${n % 2}] ${n} -> ${value}`))
await promiseDelay(Math.random() * 50);
}
})();