Baseline Widely available
Atomics.exchange()
éææ¹æ³ä¼å°ç»å®ç弿¿æ¢æ°ç»ä¸æå®ä½ç½®çå¼ï¼å¹¶è¿å该ä½ç½®çæ§å¼ãæ¤ååæä½ä¿è¯å¨ä¿®æ¹åçå¼ååä¹åä¸ä¼åçå
¶ä»åæä½ã
// Create a SharedArrayBuffer with a size in bytes
const buffer = new SharedArrayBuffer(16);
const uint8 = new Uint8Array(buffer);
uint8[0] = 5;
console.log(Atomics.load(uint8, 0));
// Expected output: 5
Atomics.exchange(uint8, 0, 2); // Returns 5
console.log(Atomics.load(uint8, 0));
// Expected output: 2
è¯æ³
Atomics.exchange(typedArray, index, value)
åæ°
typedArray
ä¸ä¸ªæ´æ°ç±»åæ°ç»ãInt8Array
ãUint8Array
ãInt16Array
ãUint16Array
ãInt32Array
ãUint32Array
ãBigInt64Array
æ BigUint64Array
ä¹ä¸ã
index
typedArray
ä¸çè¦æ¿æ¢ä¸º value
çä½ç½®ã
value
è¦æ¿æ¢çæ°åã
ç»å®ä½ç½®çæ§å¼ï¼typedArray[index]
ï¼ã
TypeError
妿 typedArray
䏿¯å
è®¸çæ´æ°ç±»åæ°ç»ä¹ä¸ï¼åæåºè¯¥å¼å¸¸ã
RangeError
妿 index
è¶
åº typedArray
çèå´ï¼åæåºè¯¥å¼å¸¸ã
const sab = new SharedArrayBuffer(1024);
const ta = new Uint8Array(sab);
Atomics.exchange(ta, 0, 12); // è¿å 0ï¼å³æ§çå¼
Atomics.load(ta, 0); // 12
è§è æµè§å¨å
¼å®¹æ§ åè§
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