diff options
author | 2022-10-12 23:48:41 -0700 | |
---|---|---|
committer | 2022-10-12 23:48:41 -0700 | |
commit | ad29d9ffb3340814ceda768ed60f5ea0a7a65ca4 (patch) | |
tree | 13bcddae5941ec2762f70886afb0f8db698b9b84 /src/bun.js/builtins/js/ReadableStreamInternals.js | |
parent | 8200f43a0431cd0270865fb0c576e0f8e4fe1c8a (diff) | |
download | bun-ad29d9ffb3340814ceda768ed60f5ea0a7a65ca4.tar.gz bun-ad29d9ffb3340814ceda768ed60f5ea0a7a65ca4.tar.zst bun-ad29d9ffb3340814ceda768ed60f5ea0a7a65ca4.zip |
Fix `cancel` not working in some cases in ReadableStream
Diffstat (limited to 'src/bun.js/builtins/js/ReadableStreamInternals.js')
-rw-r--r-- | src/bun.js/builtins/js/ReadableStreamInternals.js | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/bun.js/builtins/js/ReadableStreamInternals.js b/src/bun.js/builtins/js/ReadableStreamInternals.js index cbe72c99e..e59372d24 100644 --- a/src/bun.js/builtins/js/ReadableStreamInternals.js +++ b/src/bun.js/builtins/js/ReadableStreamInternals.js @@ -1614,7 +1614,17 @@ function readableStreamCancel(stream, reason) { @readableStreamClose(stream); var controller = @getByIdDirectPrivate(stream, "readableStreamController"); - return controller.@cancel(controller, reason).@then(function () {}); + var cancel = controller.@cancel; + if (cancel) { + return cancel(controller, reason).@then(function () {}); + } + + var close = controller.close; + if (close) { + return @Promise.@resolve(controller.close(reason)); + } + + @throwTypeError("ReadableStreamController has no cancel or close method"); } function readableStreamDefaultControllerCancel(controller, reason) { |