aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/builtins/js/ReadableStreamInternals.js
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-08-10 15:46:23 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-08-10 15:46:23 -0700
commite511b14b2ab08d86dc9c15d41b3c5da2f7d8b751 (patch)
treea4e180e5237799b8faa895efbd150f8c605fc255 /src/bun.js/builtins/js/ReadableStreamInternals.js
parent6ca32d800d8dd9fa76e0f05dfa5e4b2526c488f5 (diff)
downloadbun-e511b14b2ab08d86dc9c15d41b3c5da2f7d8b751.tar.gz
bun-e511b14b2ab08d86dc9c15d41b3c5da2f7d8b751.tar.zst
bun-e511b14b2ab08d86dc9c15d41b3c5da2f7d8b751.zip
Fix spurious unhandled promise rejection error
Diffstat (limited to 'src/bun.js/builtins/js/ReadableStreamInternals.js')
-rw-r--r--src/bun.js/builtins/js/ReadableStreamInternals.js8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/bun.js/builtins/js/ReadableStreamInternals.js b/src/bun.js/builtins/js/ReadableStreamInternals.js
index 3a02669dc..a6604a014 100644
--- a/src/bun.js/builtins/js/ReadableStreamInternals.js
+++ b/src/bun.js/builtins/js/ReadableStreamInternals.js
@@ -793,7 +793,8 @@ function readDirectStream(stream, sink, underlyingSource) {
function close(stream, reason) {
if (reason && underlyingSource?.cancel) {
try {
- underlyingSource.cancel(reason);
+ var prom = underlyingSource.cancel(reason);
+ @markPromiseAsHandled(prom);
} catch (e) {
}
@@ -890,7 +891,7 @@ async function readStreamIntoSink(stream, sink, isNative) {
}
var wroteCount = many.value.length;
const highWaterMark = @getByIdDirectPrivate(stream, "highWaterMark");
- if (isNative) @startDirectStream.@call(sink, stream, @undefined, () => !didThrow && stream.cancel());
+ if (isNative) @startDirectStream.@call(sink, stream, @undefined, () => !didThrow && @markPromiseAsHandled(stream.cancel()));
if (highWaterMark) sink.start({ highWaterMark });
@@ -924,7 +925,8 @@ async function readStreamIntoSink(stream, sink, isNative) {
try {
reader = @undefined;
- stream.cancel(e);
+ const prom = stream.cancel(e);
+ @markPromiseAsHandled(prom);
} catch (j) {}
if (sink && !didClose) {