Limited availability
Atomics.waitAsync()
éçã¡ã½ããã¯ãå
±æã¡ã¢ãªã¼ä½ç½®ãæå®ãããå¤ãå«ããã¨ã確èªããã¡ã¢ãªã¼ä½ç½®ãæå®ãããå¤ã¨ä¸è´ããªãå ´åã¯æåå "not-equal"
ãå«ã value
ããããã£ãæã¤ãªãã¸ã§ã¯ããå³åº§ã«è¿ããã¿ã¤ã ã¢ã¦ãã 0 ã«è¨å®ããã¦ããå ´å㯠"timed-out"
ãè¿ãã¾ãããã以å¤ã®å ´åããã®ã¡ã½ããã¯ãvalue
ããããã£ã Promise
ã§ãããªãã¸ã§ã¯ããè¿ãããã㯠Atomics.notify()
ãå¼ã³åºãããã¨ãã« "ok"
ãã¾ãã¯ã¿ã¤ã ã¢ã¦ããåããã¨ãã« "timed-out"
ã§å±¥è¡ããã¾ãã
Atomics.waitAsync()
ããã³ Atomics.notify()
ãä¸ç·ã«ä½¿ç¨ããã¨ãå
±æã¡ã¢ãªã¼å
ã®å¤ã«åºã¥ãã¦ã¹ã¬ããã®åæãæå¹ã«ãããã¨ãã§ãã¾ããã¹ã¬ããã¯ãåæå¤ã夿´ãããå ´åãããã«å¦çãç¶è¡ãããã¨ããåæãã¤ã³ãã«å°éããã¨ãã«å¥ã®ã¹ã¬ããããã®éç¥ãå¾
ã¤ãã¨ãã§ãã¾ãã
ãã®ã¡ã½ããã¯ã SharedArrayBuffer
ã®ãã¥ã¼ã§ãã Int32Array
ã¾ã㯠BigInt64Array
ã§ã®ã¿åä½ãã¾ããããã¯ãã³ããããã³ã°ã§ãããAtomics.wait()
ã¨ã¯ç°ãªããã¡ã¤ã³ã¹ã¬ããã§ä½¿ç¨ãããã¨ãã§ãã¾ããã¹ã¬ããå
¨ä½ããããã¯ããªãããããããã¹ã決å®ããåã«å
±æã¡ã¢ãªã¼ã«ã¢ã¯ã»ã¹ããªãããã«æ³¨æããå¿
è¦ãããã¾ãã
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
ã®å ´åã "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
ã¯ãããã¹ã«ãªãã¾ãã
const result = Atomics.waitAsync(int32, 0, 0, 1000);
// { async: true, value: Promise {<pending>} }
èªã¿è¾¼ã¿ã¹ã¬ããã¾ãã¯å¥ã®ã¹ã¬ããã§ãã¡ã¢ãªã¼ä½ç½® 0 ãå¼ã³åºããããããã¹ã¯ "ok"
ã§è§£æ±ºã§ãã¾ãã
Atomics.notify(int32, 0);
// { async: true, value: Promise {<fulfilled>: 'ok'} }
"ok"
ã«è§£æ±ºãããªãå ´åãå
±æã¡ã¢ãªã¼ã®å ´æã®å¤ãæå¾
ããå¤ã§ã¯ãªãã£ããï¼value
ã¯ãããã¹ã§ã¯ãªã "not-equal"
ã«ãªãã¾ãï¼ãã¿ã¤ã ã¢ã¦ãã«éããã¨ãããã¨ã§ãï¼ãããã¹ã¯ "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