--- title: WebAssembly.compile() slug: Web/JavaScript/Reference/Global_Objects/WebAssembly/compile translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/compile ---
{{JSRef}}

WebAssembly.compile()함수는 WebAssembly 바이너리 코드에서 {{jsxref ( "WebAssembly.Module")}}을 컴파일합니다. 이 함수는 모듈을 인스턴스화하기 전에 컴파일해야하는 경우에 유용합니다. 그렇지 않으면 {{jsxref ( "WebAssembly.instantiate ()")}} 함수를 사용해야합니다.

Syntax

Promise<WebAssembly.Module> WebAssembly.compile(bufferSource);

Parameters

bufferSource
컴파일 할 .wasm 모듈의 이진 코드가 들어있는 typed array 또는 ArrayBuffer입니다.

Return value

Promise는 컴파일 된 모듈로 표현된 {{jsxref ( "WebAssembly.Module")}} 객체로 반환됩니다.

Exceptions

Examples

다음은 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()보다 효율적이기 때문입니다.

Specifications

Specification Status Comment
{{SpecName('WebAssembly JS', '#webassemblycompile', 'compile()')}} {{Spec2('WebAssembly JS')}} Initial draft definition.

Browser compatibility

{{Compat("javascript.builtins.WebAssembly.compile")}}

See also