Class: QuickJSAsyncWASMModule
February 16, 2026 ยท View on GitHub
quickjs-emscripten / quickjs-emscripten-core / QuickJSAsyncWASMModule
Class: QuickJSAsyncWASMModule
Defined in: packages/quickjs-emscripten-core/src/module-asyncify.ts:23
Asyncified version of QuickJSWASMModule.
Due to limitations of Emscripten's ASYNCIFY process, only a single async function call can happen at a time across the entire WebAssembly module.
That means that all runtimes, contexts, functions, etc created inside this WebAssembly are limited to a single concurrent async action. Multiple concurrent async actions is an error.
To allow for multiple concurrent async actions, you must create multiple WebAssembly modules.
Contents
Extends
Methods
evalCode()
evalCode():
never
Defined in: packages/quickjs-emscripten-core/src/module-asyncify.ts:76
Synchronous evalCode is not supported.
Returns
never
Overrides
evalCodeAsync()
evalCodeAsync(
code,options):Promise<unknown>
Defined in: packages/quickjs-emscripten-core/src/module-asyncify.ts:91
One-off evaluate code without needing to create a QuickJSAsyncRuntime or QuickJSAsyncContext explicitly.
This version allows for asynchronous Ecmascript module loading.
Note that only a single async action can occur at a time inside the entire WebAssembly module. Multiple concurrent async actions is an error.
See the documentation for QuickJSWASMModule#evalCode for more details.
Parameters
code
string
options
Returns
Promise<unknown>
getWasmMemory()
getWasmMemory():
Memory
Defined in: packages/quickjs-emscripten-core/src/module.ts:441
Experimental
Retrieve the WebAssembly memory used by this QuickJS module. Use this access very carefully - you are responsible for safe interaction with the memory.
To supply a custom, pre-initialized memory to QuickJS, create a new variant and provide the CustomizeVariantOptions#wasmMemory option.
Returns
Memory
Inherited from
QuickJSWASMModule.getWasmMemory
newContext()
newContext(
options?):QuickJSAsyncContext
Defined in: packages/quickjs-emscripten-core/src/module-asyncify.ts:67
A simplified API to create a new QuickJSAsyncRuntime and a QuickJSAsyncContext inside that runtime at the same time. The runtime will be disposed when the context is disposed.
Parameters
options?
ContextOptions = {}
Returns
Overrides
newRuntime()
newRuntime(
options?):QuickJSAsyncRuntime
Defined in: packages/quickjs-emscripten-core/src/module-asyncify.ts:41
Create a new async runtime inside this WebAssembly module. All runtimes inside a module are limited to a single async call at a time. For multiple concurrent async actions, create multiple WebAssembly modules.
Parameters
options?
AsyncRuntimeOptions = {}