--- title: WebAssembly.compile() slug: Web/JavaScript/Reference/Global_Objects/WebAssembly/compile translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/compile ---
WebAssembly.compile()
함수는 WebAssembly 바이너리 코드에서 {{jsxref ( "WebAssembly.Module")}}을 컴파일합니다. 이 함수는 모듈을 인스턴스화하기 전에 컴파일해야하는 경우에 유용합니다. 그렇지 않으면 {{jsxref ( "WebAssembly.instantiate ()")}} 함수를 사용해야합니다.
Promise<WebAssembly.Module> WebAssembly.compile(bufferSource);
Promise
는 컴파일 된 모듈로 표현된 {{jsxref ( "WebAssembly.Module")}} 객체로 반환됩니다.
bufferSource
가 typed array가 아니면 {{jsxref("TypeError")}}가 발생합니다.다음은 compile()
함수를 사용하여 simple.wasm 바이트 코드를 컴파일 하고 postMessage()를 사용하여 worker에 보내는 예제입니다.
var worker = new Worker("wasm_worker.js"); fetch('simple.wasm').then(response => response.arrayBuffer() ).then(bytes => WebAssembly.compile(bytes) ).then(mod => worker.postMessage(mod) );
Note: 대부분의 경우에 {{jsxref("WebAssembly.compileStreaming()")}}를 사용하는 것이 좋습니다. 이는 compile()
보다 효율적이기 때문입니다.
Specification | Status | Comment |
---|---|---|
{{SpecName('WebAssembly JS', '#webassemblycompile', 'compile()')}} | {{Spec2('WebAssembly JS')}} | Initial draft definition. |
{{Compat("javascript.builtins.WebAssembly.compile")}}