diff --git a/docs/hello-sse/api.wasm b/docs/hello-sse/api.wasm index cc97acd..0b408ab 100755 Binary files a/docs/hello-sse/api.wasm and b/docs/hello-sse/api.wasm differ diff --git a/internal/readablestream/writer.go b/internal/readablestream/writer.go index df6c512..9484249 100644 --- a/internal/readablestream/writer.go +++ b/internal/readablestream/writer.go @@ -18,6 +18,8 @@ type Writer struct { var _ io.WriteCloser = (*Writer)(nil) func NewWriter() (*Writer, error) { + var rs *Writer + var start safejs.Func var controller safejs.Value @@ -35,6 +37,7 @@ func NewWriter() (*Writer, error) { cancel, err = safejs.FuncOf(func(_ safejs.Value, _ []safejs.Value) any { defer cancel.Release() + rs.cancelled = true cancelCtx() return nil }) @@ -55,17 +58,12 @@ func NewWriter() (*Writer, error) { return nil, err } - rs := &Writer{ + rs = &Writer{ Value: value, controller: controller, ctx: ctx, } - go func() { - <-ctx.Done() - rs.cancelled = true - }() - return rs, nil }