try setting to weak instead of deinit

This commit is contained in:
Muki Kiboigo
2025-09-17 06:39:27 -07:00
parent 4d1e416299
commit 7d96a25c55
2 changed files with 6 additions and 2 deletions

View File

@@ -170,7 +170,7 @@ pub fn fetch(input: RequestInput, options: ?RequestInit, page: *Page) !Env.Promi
.done_callback = struct {
fn doneCallback(ctx: *anyopaque) !void {
const self: *FetchContext = @ptrCast(@alignCast(ctx));
defer self.promise_resolver.deinit();
defer self.promise_resolver.setWeak();
self.transfer = null;
log.info(.fetch, "request complete", .{
@@ -187,7 +187,7 @@ pub fn fetch(input: RequestInput, options: ?RequestInit, page: *Page) !Env.Promi
.error_callback = struct {
fn errorCallback(ctx: *anyopaque, err: anyerror) void {
const self: *FetchContext = @ptrCast(@alignCast(ctx));
defer self.promise_resolver.deinit();
defer self.promise_resolver.setWeak();
self.transfer = null;
log.err(.fetch, "error", .{

View File

@@ -2246,6 +2246,10 @@ pub fn Env(comptime State: type, comptime WebApis: type) type {
self.resolver.deinit();
}
pub fn setWeak(self: *PersistentPromiseResolver) void {
self.resolver.setWeak();
}
pub fn promise(self: PersistentPromiseResolver) Promise {
return .{
.promise = self.resolver.castToPromiseResolver().getPromise(),