Clone and edit this document
Runkit
Runkit
home page
user forum
new notebook
clone notebook
download notebook
support & documentation
log in
sign up
new notebook
help & feedback
clone this notebook
download this notebook
Sign In
Sign Up
RunKit + npm: rx-flowable
node v14.20.1
version:
master
endpoint
share
tweet
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