wait for ready to setup Go program

This commit is contained in:
syumai 2022-11-19 23:22:04 +09:00
parent 879461790e
commit 1f6f23073c
8 changed files with 36 additions and 0 deletions

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -67,5 +67,6 @@ func Serve(handler http.Handler) {
handler = http.DefaultServeMux
}
httpHandler = handler
jsutil.Global.Call("ready")
select {}
}