This page was translated from English by the community. Learn more and join the MDN Web Docs community.

View in English Always switch to English

WebAssembly.instantiate()

Baseline
Widely available
*

This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2017년 10월.

* Some parts of this feature may have varying levels of support.

WebAssembly.instantiate() 함수를 사용하면 WebAssembly 코드를 컴파일하고 인스턴스화 할 수 있습니다. 이 함수에는 두개의 overloads가 있습니다.

  • 기본 오버로드는 typed array 또는 ArrayBuffer의 형태로 WebAssembly 바이너리 코드를 취해 컴파일 및 인스턴스화를 한 번에 수행합니다. 반환 된 Promise는 컴파일 된 WebAssembly.Module 및 첫 번째 WebAssembly.Instance로 해석됩니다.
  • 두번째 오버로드는 이미 컴파일 된 WebAssembly.Module을 취하여 해당 ModuleInstance로 해석되는 Promise을 반환합니다. 이 overload는 Module이 이미 컴파일된 경우 유용합니다.

경고 : 중요 : 이 방법은 wasm 모듈을 가져와 인스턴스화하는 가장 효율적인 방법은 아닙니다. 가능하다면 원시 바이트 코드에서 모듈을 모두 한 단계로 가져오고, 컴파일하고 인스턴스화하는 대신 최신 WebAssembly.instantiateStreaming () 메서드를 사용해야합니다. ArrayBuffer 로의 변환이 필요합니다.

Syntax

Primary overload — taking wasm binary code

Promise<ResultObject> WebAssembly.instantiate(bufferSource, importObject);

Parameters

bufferSource

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

importObject Optional

함수 또는 WebAssembly.Memory 객체와 같이 새로 생성 된 인스턴스로 가져올 값을 포함하는 객체입니다. 컴파일 된 모듈의 각 선언 된 가져 오기에 대해 하나의 일치하는 속성이 있어야합니다. 그렇지 않으면 WebAssembly.LinkError가 발생합니다.

Return value

두개의 필드를 포함하는 ResultObject를 가진 Promise를 반환:

Exceptions