diff --git a/examples/basic-auth-proxy/worker.mjs b/examples/basic-auth-proxy/worker.mjs index 1724f16..06ac27d 100644 --- a/examples/basic-auth-proxy/worker.mjs +++ b/examples/basic-auth-proxy/worker.mjs @@ -9,9 +9,14 @@ const load = WebAssembly.instantiate(mod, go.importObject).then((instance) => { return instance; }); +const readyPromise = new Promise((resolve) => { + globalThis.ready = resolve; +}); + async function processRequest(event) { const req = event.request; await load; + await readyPromise; return handleRequest(req); } diff --git a/examples/env/worker.mjs b/examples/env/worker.mjs index 1724f16..06ac27d 100644 --- a/examples/env/worker.mjs +++ b/examples/env/worker.mjs @@ -9,9 +9,14 @@ const load = WebAssembly.instantiate(mod, go.importObject).then((instance) => { return instance; }); +const readyPromise = new Promise((resolve) => { + globalThis.ready = resolve; +}); + async function processRequest(event) { const req = event.request; await load; + await readyPromise; return handleRequest(req); } diff --git a/examples/hello/worker.mjs b/examples/hello/worker.mjs index 1724f16..06ac27d 100644 --- a/examples/hello/worker.mjs +++ b/examples/hello/worker.mjs @@ -9,9 +9,14 @@ const load = WebAssembly.instantiate(mod, go.importObject).then((instance) => { return instance; }); +const readyPromise = new Promise((resolve) => { + globalThis.ready = resolve; +}); + async function processRequest(event) { const req = event.request; await load; + await readyPromise; return handleRequest(req); } diff --git a/examples/kv-counter/worker.mjs b/examples/kv-counter/worker.mjs index 1724f16..06ac27d 100644 --- a/examples/kv-counter/worker.mjs +++ b/examples/kv-counter/worker.mjs @@ -9,9 +9,14 @@ const load = WebAssembly.instantiate(mod, go.importObject).then((instance) => { return instance; }); +const readyPromise = new Promise((resolve) => { + globalThis.ready = resolve; +}); + async function processRequest(event) { const req = event.request; await load; + await readyPromise; return handleRequest(req); } diff --git a/examples/r2-image-server/worker.mjs b/examples/r2-image-server/worker.mjs index 1724f16..06ac27d 100644 --- a/examples/r2-image-server/worker.mjs +++ b/examples/r2-image-server/worker.mjs @@ -9,9 +9,14 @@ const load = WebAssembly.instantiate(mod, go.importObject).then((instance) => { return instance; }); +const readyPromise = new Promise((resolve) => { + globalThis.ready = resolve; +}); + async function processRequest(event) { const req = event.request; await load; + await readyPromise; return handleRequest(req); } diff --git a/examples/r2-image-viewer/worker.mjs b/examples/r2-image-viewer/worker.mjs index 1724f16..06ac27d 100644 --- a/examples/r2-image-viewer/worker.mjs +++ b/examples/r2-image-viewer/worker.mjs @@ -9,9 +9,14 @@ const load = WebAssembly.instantiate(mod, go.importObject).then((instance) => { return instance; }); +const readyPromise = new Promise((resolve) => { + globalThis.ready = resolve; +}); + async function processRequest(event) { const req = event.request; await load; + await readyPromise; return handleRequest(req); } diff --git a/examples/simple-json-server/worker.mjs b/examples/simple-json-server/worker.mjs index 1724f16..06ac27d 100644 --- a/examples/simple-json-server/worker.mjs +++ b/examples/simple-json-server/worker.mjs @@ -9,9 +9,14 @@ const load = WebAssembly.instantiate(mod, go.importObject).then((instance) => { return instance; }); +const readyPromise = new Promise((resolve) => { + globalThis.ready = resolve; +}); + async function processRequest(event) { const req = event.request; await load; + await readyPromise; return handleRequest(req); } diff --git a/handler.go b/handler.go index ec28017..4612961 100644 --- a/handler.go +++ b/handler.go @@ -67,5 +67,6 @@ func Serve(handler http.Handler) { handler = http.DefaultServeMux } httpHandler = handler + jsutil.Global.Call("ready") select {} }