WebAssembly.validate()
åºçº¿
广æ³å¯ç¨
*
èª 2017å¹´10æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
* æ¤ç¹æ§çæäºé¨åçæ¯æç¨åº¦å¯è½ææä¸åã
WebAssembly.validate() æ¹æ³ç¨äºéªè¯å
å« WebAssembly äºè¿å¶ç çä¸ä¸ªç±»ååæ°ç»æ¯å¦åæ³ï¼è¿å true 妿è¿äºåèè½ææä¸ä¸ªåæ³ç wasm 模åï¼å¦åè¿å falseã
è¯æ³
WebAssembly.validate(bufferSource)
WebAssembly.validate(bufferSource, compileOptions)
åæ°
bufferSource-
ä¸ä¸ªå å« WebAssembly äºè¿å¶ç ç typed array æ ArrayBufferã
è¿åå¼
ä¸ä¸ªå¸å°å¼ï¼ç¨æ¥è¡¨ç¤ºç»å®ç bufferSource æ¯åæ³ wasm 代ç ï¼trueï¼æè
䏿¯ï¼falseï¼ã
å¼å¸¸
妿ç»å®ç bufferSource 䏿¯ typed array æ ArrayBuffer ç±»åï¼å°ä¼æåº TypeError å¼å¸¸ã
示ä¾
ä¸é¢çä¾åï¼æ¥ç validate.html æºä»£ç ï¼æè
å¨çº¿é¢è§ï¼éè¿ fetch è·åäºä¸ä¸ª .wasm 模åå¹¶å°å
¶è½¬æ¢ä¸ºä¸ä¸ªç±»ååæ°ç»ãæ¥ä¸æ¥ç¨ validate() æ¹æ³æ¥éªè¯è¿ä¸ªæ¨¡åæ¯å¦åæ³ã
fetch("simple.wasm")
.then((response) => response.arrayBuffer())
.then((bytes) => {
const valid = WebAssembly.validate(bytes);
console.log(
`The given bytes are ${valid ? "" : "not "}a valid Wasm module`,
);
});
è§è
| è§è |
|---|
| WebAssembly JavaScript Interface> # dom-webassembly-validate> |