diff options
Diffstat (limited to 'src/js_ast.zig')
-rw-r--r-- | src/js_ast.zig | 20 |
1 files changed, 2 insertions, 18 deletions
diff --git a/src/js_ast.zig b/src/js_ast.zig index 7e5d346e2..691ff791a 100644 --- a/src/js_ast.zig +++ b/src/js_ast.zig @@ -8119,24 +8119,8 @@ pub const Macro = struct { var promise_result = JSC.JSValue.zero; var rejected = false; - if (value.asPromise()) |promise| { - while (true) { - if (promise.status(this.global.vm()) != .Pending) break; - this.macro.vm.tick(); - if (promise.status(this.global.vm()) != .Pending) break; - this.macro.vm.eventLoop().autoTick(); - } - - promise_result = promise.result(this.global.vm()); - rejected = promise.status(this.global.vm()) == .Rejected; - } else if (value.asInternalPromise()) |promise| { - while (true) { - if (promise.status(this.global.vm()) != .Pending) break; - this.macro.vm.tick(); - if (promise.status(this.global.vm()) != .Pending) break; - this.macro.vm.eventLoop().autoTick(); - } - + if (value.asAnyPromise()) |promise| { + this.macro.vm.waitForPromise(promise); promise_result = promise.result(this.global.vm()); rejected = promise.status(this.global.vm()) == .Rejected; } else { |