Important: This documentation is about an older version. It's relevant only to the release noted, many of the features and functions have been updated or replaced. Please view the current version.
import{ ReadableStream }from'k6/experimental/streams';import{ setTimeout }from'k6/timers';exportdefaultasyncfunction(){let currentNumber =0;const stream =newReadableStream({start(controller){constfn=()=>{if(currentNumber %8==0){// Close the stream when the number is divisible by 8
controller.close();return;}if(currentNumber <10){
controller.enqueue(++currentNumber);setTimeout(fn,1000);return;}
controller.close();};setTimeout(fn,1000);},});const reader = stream.getReader();while(true){const{ done, value }=await reader.read();if(done)break;
console.log(`received number ${value} from stream`);}}