1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-11 10:07:54 -05:00
denoland-deno/cli/tests/testdata/run/stdin_read_all.ts
David Sherret 667812a297
fix(cli): synchronize async stdio/file reads and writes (#15092)
Fixes a regression where async writes and reads could get out of order.
2022-07-13 11:16:42 -04:00

17 lines
392 B
TypeScript

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"));