async filter transform
by jib1
HTML
<script src="https://jan-ivar.github.io/dummy/progressbar.js"></script>
<div id="container"></div>
<div id="div"></div>
JavaScript
const console = {log: msg => div.innerHTML += `${msg}<br>`};
(async url => {
try {
await new ReadableStream({
n: 0,
pull(controller) { this.n < 10 && controller.enqueue(this.n++); }
})
.pipeThrough(new TransformStream({
transform(chunk, controller) {
if (chunk % 2 == 0) controller.enqueue(chunk);
}
}))
.pipeTo(new WritableStream({write: c => console.log(c)}));
} catch (e) {
console.log(`${e.name}: ${e.message}`);
}
})();