Limited availability
Atomics.waitAsync()
éææ¹æ³å¼æ¥çå¾
å
±äº«å
åçç¹å®ä½ç½®å¹¶è¿åä¸ä¸ª Promise
ã
ä¸ Atomics.wait()
ä¸åï¼waitAsync
æ¯éé»å¡çä¸å¯ç¨äºä¸»çº¿ç¨ã
夿³¨ï¼ æ¤æä½ä»
éç¨äºåºäº SharedArrayBuffer
ç Int32Array
æ BigInt64Array
è§å¾ã
Atomics.waitAsync(typedArray, index, value)
Atomics.waitAsync(typedArray, index, value, timeout)
åæ°
typedArray
åºäº SharedArrayBuffer
ç Int32Array
æ BigInt64Array
ã
index
typedArray
ä¸è¦çå¾
çä½ç½®ã
value
è¦æµè¯çææå¼ã
timeout
å¯é
çå¾
æ¶é´ï¼ä»¥æ¯«ç§ä¸ºåä½ãNaN
ï¼ä»¥åä¼è¢«è½¬æ¢ä¸º NaN
çå¼ï¼ä¾å¦ undefined
ï¼ä¼è¢«è½¬æ¢ä¸º Infinity
ãè´å¼ä¼è¢«è½¬æ¢ä¸º 0
ã
ä¸ä¸ª Object
ï¼å
å«ä»¥ä¸å±æ§ï¼
async
ä¸ä¸ªå¸å°å¼ï¼æç¤º value
屿§æ¯å¦ä¸º Promise
ã
value
妿 async
æ¯ false
ï¼å®å°æ¯ä¸ä¸ªå
容为 "not-equal"
æ "timed-out"
çå符串ï¼ä»
å½ timeout
åæ°ä¸º 0
æ¶ï¼ã妿 async
æ¯ true
ï¼å®å°ä¼æ¯ä¸ä¸ª Promise
ï¼å
¶å
ç°å¼ä¸ºä¸ä¸ªå
容为 "ok"
æ "timed-out"
çå符串ãè¿ä¸ª promise æ°¸è¿ä¸ä¼è¢«æç»ã
TypeError
妿 typedArray
䏿¯ä¸ä¸ªåºäº SharedArrayBuffer
ç Int32Array
æ BigInt64Array
ï¼åæåºè¯¥å¼å¸¸ã
RangeError
妿 index
è¶
åº typedArray
çèå´ï¼åæåºè¯¥å¼å¸¸ã
ç»å®ä¸ä¸ªå
±äº«ç Int32Array
ã
const sab = new SharedArrayBuffer(1024);
const int32 = new Int32Array(sab);
令ä¸ä¸ªè¯»å线ç¨ä¼ç å¹¶å¨ä½ç½® 0 å¤çå¾
ï¼é¢æè¯¥ä½ç½®çå¼ä¸º 0ãresult.value
å°æ¯ä¸ä¸ª promiseã
const result = Atomics.waitAsync(int32, 0, 0, 1000);
// { async: true, value: Promise {<pending>} }
å¨è¯¥è¯»åçº¿ç¨æå¦ä¸ä¸ªçº¿ç¨ä¸ï¼å¯¹å
åä½ç½® 0 è°ç¨ä»¥ä»¤è¯¥ promise è§£å³ä¸º "ok"
ã
Atomics.notify(int32, 0);
// { async: true, value: Promise {<fulfilled>: 'ok'} }
妿宿²¡æè§£å³ä¸º "ok"
ï¼åå
±äº«å
å该ä½ç½®çå¼ä¸ç¬¦å颿ï¼value
å°æ¯ "not-equal"
è䏿¯ä¸ä¸ª promiseï¼æå·²ç»è¶
æ¶ï¼è¯¥ promise å°è§£å³ä¸º "time-out"
ï¼ã
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4