Baseline Widely available
Die statische Methode Atomics.exchange()
tauscht einen gegebenen Wert an einer gegebenen Position im Array aus und gibt den alten Wert an dieser Position zurück. Diese atomare Operation gewährleistet, dass zwischen dem Lesen des alten Wertes und dem Schreiben des neuen Wertes kein anderer Schreibvorgang stattfindet.
// 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
Syntax
Atomics.exchange(typedArray, index, value)
Parameter
typedArray
Ein Integer-Typed-Array. Eines von Int8Array
, Uint8Array
, Int16Array
, Uint16Array
, Int32Array
, Uint32Array
, BigInt64Array
oder BigUint64Array
.
index
Die Position im typedArray
, an der ein value
ausgetauscht werden soll.
value
Die Zahl, die ausgetauscht werden soll.
Der alte Wert an der angegebenen Position (typedArray[index]
).
TypeError
Wird ausgelöst, wenn typedArray
nicht einer der erlaubten Integer-Typen ist.
RangeError
Wird ausgelöst, wenn index
auÃerhalb der Grenzen des typedArray
liegt.
const sab = new SharedArrayBuffer(1024);
const ta = new Uint8Array(sab);
Atomics.exchange(ta, 0, 12); // returns 0, the old value
Atomics.load(ta, 0); // 12
Spezifikationen Browser-Kompatibilität Siehe auch
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