diff --git a/pkg/app/server.go b/pkg/app/server.go index 6006ebf..f14cf0b 100644 --- a/pkg/app/server.go +++ b/pkg/app/server.go @@ -132,17 +132,17 @@ func (s *Server) Exec(ctx context.Context, callableOrFuncname any, args ...inter value := result.value if promise, ok := IsPromise(value); ok { - value = s.waitForPromise(promise) + return s.waitForPromise(promise), nil } return value.Export(), nil } } -func (s *Server) waitForPromise(promise *goja.Promise) goja.Value { +func (s *Server) waitForPromise(promise *goja.Promise) any { var ( wg sync.WaitGroup - value goja.Value + value any ) wg.Add(1) @@ -162,7 +162,7 @@ func (s *Server) waitForPromise(promise *goja.Promise) goja.Value { return } - value = promise.Result() + value = promise.Result().Export() breakLoop = true })