Atomics.add()

Atomics.add() 静态方法在数组中的给定位置添加给定值并返回该位置的旧值。此原子操作保证在修改的值被写回之前不会发生其他写入。

¥The Atomics.add() static method adds a given value at a given position in the array and returns the old value at that position. This atomic operation guarantees that no other write happens until the modified value is written back.

Try it

语法

¥Syntax

js
Atomics.add(typedArray, index, value)

参数

¥Parameters

typedArray

整数类型数组。Int8ArrayUint8ArrayInt16ArrayUint16ArrayInt32ArrayUint32ArrayBigInt64ArrayBigUint64Array 之一。

index

typedArray 中要添加 value 的位置。

value

要添加的号码。

返回值

¥Return value

给定位置 (typedArray[index]) 的旧值。

¥The old value at the given position (typedArray[index]).

例外情况

¥Exceptions

TypeError

如果 typedArray 不是允许的整数类型之一,则抛出该错误。

RangeError

如果 indextypedArray 中出界,则抛出该球。

示例

¥Examples

使用 add()

¥Using add()

js
const sab = new SharedArrayBuffer(1024);
const ta = new Uint8Array(sab);

Atomics.add(ta, 0, 12); // returns 0, the old value
Atomics.load(ta, 0); // 12

规范

Specification
ECMAScript Language Specification
# sec-atomics.add

¥Specifications

浏览器兼容性

BCD tables only load in the browser

¥Browser compatibility

也可以看看