RunKit + npm: rx-flowable

node v14.20.1
version: master
endpointsharetweet
var { consume } = require("rx-flowable/consume") // Silly test server implementing the right interface class Server { constructor() { this.queue = []; } process(value) { console.log(`Enqueuing ${value}`); const done = new Promise(resolve => setTimeout(() => { console.log(`Processed ${value}`); this.queue = this.queue.filter(p => p !== done); resolve(); }, 10)); this.queue.push(done); return done; } get hasCapacity() { if (this.queue.length > 5) return Promise.race(this.queue); } } const server = new Server; consume([0,1,2,3,4,5,6,7,8,9]).subscribe(async ({ value, next }) => { await server.hasCapacity; server.process(value).catch(console.error); next(); });
Created from: https://npm.runkit.com/rx-flowable
Loading…

no comments

    sign in to comment