Funcable
A library provides async function invocation based on Web Messaging.
const worker = new Worker("./worker.js");
const asyncFunctions = Funcable.wrap(worker);
asyncFunctions.add(1, 2).then(console.log);
const asyncFunctions = {
async add(a + b) {
const response = await fetch(`https://example.com/add?a=${a}&b=${b}`).json();
return response.result;
}
};
Funcable.expose(asyncFunctions);
API
Funcable.expose(value: T, endpoint: Endpoint = self)
- @param
value
: value to expose via endpoint - @param
endpoint
: MessagePort-like object
Exposes value
to be used by something beyond endpoint
.
Funcable.wrap(endpoint: Endpoint): T
- @param
endpoint
: MessagePort-like object - @return: proxy object that can be considered as exposed value.
Gets proxy object that can be considered as value exposed beyond endpoint
.
Similar
- Comlink - Comlink makes WebWorkers enjoyable