WebAssembly.Exception.prototype.is()
åºçº¿
广æ³å¯ç¨
èª 2022å¹´5æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
Exception 对象ç is() ååæ¹æ³å¯ä»¥ç¨äºæµè¯ Exception æ¯å¦å¹é
ä¸ä¸ªæå®çæ ç¾ã
å¨å°æ ç¾ä¼ éç» Exception.prototype.getArg() è·åä¼ éå¼ä¹åï¼å¯ä»¥ç¨è¯¥æ¹æ³æµè¯æ ç¾çæ£ç¡®æ§ãå¯ä»¥ç¨å¨ JavaScript ä¸åå»ºçæ ç¾æè
å¨ WebAssembly ä¸å建并导åºå° JavaScript ä¸çæ ç¾ã
夿³¨ï¼æ°æ®ç±»å顺åºç¸åçæ ç¾æ¯ä¸å¤çââå¿ é¡»åå¼å¸¸å建æ¶ç¨çæ ç¾å ·æç¸åç身份ï¼åä¸ä¸ªæ ç¾ï¼ã
è¯æ³
is(tag)
åæ°
tag-
ç¨æ¥éªè¯å¼å¸¸çç±»åç
WebAssembly.Tagã
è¿åå¼
妿æå®çæ ç¾å¹é
å¼å¸¸ï¼åè¿åå¸å°å¼ trueï¼å¦åè¿å falseã
示ä¾
ä¸é¢ç代ç å±ç¤ºå¦ä½ä½¿ç¨ is() éªè¯ä¸ä¸ªæ ç¾å¹é
ä¸ä¸ª Exceptionã
// å建æ ç¾ï¼å¹¶ç¨å®å建å¼å¸¸
const tag1 = new WebAssembly.Tag({ parameters: ["i32", "f64"] });
const exception1 = new WebAssembly.Exception(tag1, [42, 42.3]);
// éªè¯âtag1âå¹é
è¿ä¸ªå¼å¸¸
console.log(`Tag1: ${exception1.is(tag1)}`);
// æ¥å¿è¾åºï¼
// Tag1: true
æä»¬ä¹å¯ä»¥å±ç¤ºè¿ä¸ªå¼å¸¸ä¸å¹é å¦ä¸ä¸ªæ ç¾ï¼å³ä½¿è¯¥æ ç¾æ¯ç¨ç¸åçåæ°å建çã
// å建ä¸ä¸ªæ°çæ ç¾ï¼ç¨ä¸æ ·çåæ°ï¼å¹¶éªè¯å®ä¸å¹é
该å¼å¸¸
const tag2 = new WebAssembly.Tag({ parameters: ["i32", "f64"] });
console.log(`Tag2: ${exception1.is(tag2)}`);
// æ¥å¿è¾åºï¼
// Tag2: false
è§è
| è§è |
|---|
| WebAssembly JavaScript Interface: Exception Handling> # dom-exception-is> |