JSFiddle - React, Tailwind, and code Playground
by msfrisbie
JavaScript
async function* ints() {
// yield an incremented integer every 1000ms
for (let i = 0; i < 5; ++i) {
yield await new Promise((resolve) => setTimeout(resolve, 1000, i));
console.log(`enqueued ${i}`);
}
}
const queueingStrategy = new CountQueuingStrategy({ highWaterMark: 1 });
const readableStream = new ReadableStream({
async start(controller) {
for await (let chunk of ints()) {
controller.enqueue(chunk);
}
controller.close();
},
queueingStrategy
});
const readableStreamDefaultReader = readableStream.getReader();
// 0
// 1
// 2
// 3
// 4