Перевод не завершен. Пожалуйста, помогите перевести эту статью с английского.
Статический метод Atomics
.sub()
вычитает представленное значение из текущего по указанной позиции в массиве и возвращает предыдущее значение в этой позиции. Эта атомарная опреация гарантирует, что никакой другой записи не произойдет, пока измененное значение не будет записано обратно.
Синтаксис
Atomics.sub(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); ta[0] = 48; Atomics.sub(ta, 0, 12); // возвращает 48, предыдущее значение Atomics.load(ta, 0); // 36
Спецификации
Specification | Status | Comment |
---|---|---|
ECMAScript Latest Draft (ECMA-262) Определение 'Atomics.sub' в этой спецификации. |
Черновик | Initial definition in ES2017. |
Поддержка браузерами
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | Нет [2] | Нет | 55 (55) [1] | Нет | Нет | Нет |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | Нет | Нет | 55.0 (55) [1] | Нет | Нет | Нет |
[1] In Firefox version 46 until version 54, this feature is disabled by a preference setting. In about:config, set javascript.options.shared_memory
to true
.
[2] The implementation is under development and needs these runtime flags: --js-flags=--harmony-sharedarraybuffer --enable-blink-feature=SharedArrayBuffer