WebAssembly.instantiateStreaming()
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since 2021ë 9ì.
* Some parts of this feature may have varying levels of support.
WebAssembly.instantiateStreaming() í¨ìë ì¤í¸ë¦¼ ë ì본 ìì¤ìì ì§ì WebAssembly 모ëì ì»´íì¼íê³ ì¸ì¤í´ì¤íí©ëë¤. Wasm ì½ë를ë¡ëíë ê°ì¥ í¨ì¨ì ì´ê³ ìµì í ë ë°©ë²ì
ëë¤.
Syntax
WebAssembly.instantiateStreaming(source, importObject);
Parameters
- source
-
ì¤í¸ë¦¬ë°, ì»´íì¼ ë° ì¸ì¤í´ì¤ííë ¤ë .wasm 모ëì 기본 ìì¤ë¥¼ ëíë´ë
Responseê°ì²´ ëë promise. - importObject Optional
-
í¨ì ëë
WebAssembly.Memoryê°ì²´ì ê°ì´ ìë¡ ìì± ëInstanceë¡ ê°ì ¸ì¬ ê°ì í¬í¨íë ê°ì²´ì ëë¤. ì»´íì¼ ë 모ëì ê° ì ì¸ ë ê°ì ¸ ì¤ê¸°ì ëí´ íëì ì¼ì¹íë ìì±ì´ ìì´ì¼í©ëë¤. ê·¸ë ì§ ìì¼ë©´ WebAssembly.LinkErrorê° ë°ìí©ëë¤.
Return value
ë ê°ì íë를 í¬í¨íë ResultObjectë¡ í´ìëë Promise :
module: ì»´íì¼ ë WebAssembly 모ëì ëíë´ëWebAssembly.Moduleê°ì²´ì ëë¤. ì´Moduleì ë¤ì ì¸ì¤í´ì¤íëê±°ë postMessage()를 íµí´ ê³µì ë ì ììµëë¤.instance: Exported WebAssembly functions를 í¬í¨íëWebAssembly.Instanceê°ì²´ì ëë¤.
Exceptions
- ë§¤ê° ë³ì ì¤ íëê° ì¬ë°ë¥¸ ì í ëë êµ¬ì¡°ê° ìëë©´
TypeErrorê° ë°ìí©ëë¤. - ìì
ìì
ì´ ì¤í¨íë©´ promiseë ì¤í¨ ìì¸ì ë°ë¼
WebAssembly.CompileError,WebAssembly.LinkErrorëëWebAssembly.RuntimeErrorë¡ ê±°ë¶ë©ëë¤.
Examples
ë¤ì ìì (GitHubì instantiate-streaming.html ë°ëª¨ë³´ê¸° ë° view it live)ììë ì본 ìì¤ìì .wasm 모ëì ì§ì ì¤í¸ë¦¬ë° í ë¤ì ì»´íì¼íê³ ì¸ì¤í´ì¤íí©ëë¤. ì½ìì ResultObjectë¡ ì¶©ì¡±ë©ëë¤.instantiateStreaming() í¨ìë Response ê°ì²´ì ëí promise를 ë°ìë¤ì´ë¯ë¡ ì§ì fetch() í¸ì¶ì ì ë¬í ì ìì¼ë©° ìëµì ìííë©´ í¨ìì ìëµì ì ë¬í©ëë¤.
var importObject = { imports: { imported_func: (arg) => console.log(arg) } };
WebAssembly.instantiateStreaming(fetch("simple.wasm"), importObject).then(
(obj) => obj.instance.exports.exported_func(),
);
ê·¸ë° ë¤ì ResultObjectì ì¸ì¤í´ì¤ 구ì±ìì ì¡ì¸ì¤íê³ í¬í¨ ë ë´ ë³´ë¸ í¨ì를 í¸ì¶í©ëë¤.
ëª ì¸ì
| Specification |
|---|
| WebAssembly Web API> # dom-webassembly-instantiatestreaming> |