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