const encoder = new TextEncoder(); const pending = []; // do this a bunch of times to ensure it doesn't race // and everything happens in order for (let i = 0; i < 50; i++) { const buf = new Uint8Array(1); pending.push( Deno.stdin.read(buf).then(() => { return Deno.stdout.write(buf); }), ); } await Promise.all(pending); await Deno.stdout.write(encoder.encode("\n"));