Atomics.add()

Статический метод Atomics.add() добавляет значение к текущему по указанной позиции в массиве и возвращает предыдущее значение в этой позиции. Эта атомарная операция гарантирует, что никакой другой записи не произойдёт, пока изменённое значение не будет записано обратно.

Синтаксис

Atomics.add(typedArray, index, value)

Параметры

typedArray
Разделённый массив целых чисел. Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array или Uint32Array.
index
Позиция в typedArray для добавления value.
value
Число для добавления.

Возвращаемое значение

Предыдущее значение в указанной позиции (typedArray[index]).

Исключения

  • Выбрасывает TypeError, если тип typedArray не является одним из допустимых целочисленных типов.
  • Выбрасывает TypeError, если тип typedArray не общего типа.
  • Выбрасывает RangeError, если index вне typedArray.

Примеры

var sab = new SharedArrayBuffer(1024);
var ta = new Uint8Array(sab);

Atomics.add(ta, 0, 12); // возвращает 0, предыдущее значение
Atomics.load(ta, 0); // 12

Спецификации

Specification Status Comment
ECMAScript (ECMA-262)
Определение 'Atomics.add' в этой спецификации.
Живой стандарт Initial definition in ES2017.

Поддержка браузерами

BCD tables only load in the browser

Смотрите также