diff options
Diffstat (limited to 'src/bun.js/bindings/webcore/AbortSignal.cpp')
-rw-r--r-- | src/bun.js/bindings/webcore/AbortSignal.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/bun.js/bindings/webcore/AbortSignal.cpp b/src/bun.js/bindings/webcore/AbortSignal.cpp index febc610b7..28a60d9e0 100644 --- a/src/bun.js/bindings/webcore/AbortSignal.cpp +++ b/src/bun.js/bindings/webcore/AbortSignal.cpp @@ -71,7 +71,14 @@ Ref<AbortSignal> AbortSignal::timeout(ScriptExecutionContext& context, uint64_t Locker locker { vm.apiLock() }; signal->signalAbort(toJS(globalObject, globalObject, DOMException::create(TimeoutError))); }; - context.postTaskOnTimeout(WTFMove(action), Seconds::fromMilliseconds(milliseconds)); + + if (milliseconds == 0) { + // immediately write to task queue + context.postTask(WTFMove(action)); + } else { + context.postTaskOnTimeout(WTFMove(action), Seconds::fromMilliseconds(milliseconds)); + } + return signal; } |