avoid using for await

This commit is contained in:
fyears 2021-11-27 14:43:19 +08:00
parent aa3aecb074
commit 9389039c7a

View File

@ -225,12 +225,12 @@ const getObjectBodyToArrayBuffer = async (
b: Readable | ReadableStream | Blob b: Readable | ReadableStream | Blob
) => { ) => {
if (b instanceof Readable) { if (b instanceof Readable) {
return (await new Promise((resolve, reject) => {
const chunks: Uint8Array[] = []; const chunks: Uint8Array[] = [];
for await (let chunk of b) { b.on("data", (chunk) => chunks.push(chunk));
chunks.push(chunk); b.on("error", reject);
} b.on("end", () => resolve(bufferToArrayBuffer(Buffer.concat(chunks))));
const buf = Buffer.concat(chunks); })) as ArrayBuffer;
return bufferToArrayBuffer(buf);
} else if (b instanceof ReadableStream) { } else if (b instanceof ReadableStream) {
return await new Response(b, {}).arrayBuffer(); return await new Response(b, {}).arrayBuffer();
} else if (b instanceof Blob) { } else if (b instanceof Blob) {