SharedArrayBuffer 实例的 grow() 方法将 SharedArrayBuffer 增大到以字节为单位的指定大小。
语法
grow(newLength)
参数
newLength- : 新的长度,以字节为单位,
SharedArrayBuffer调整后的大小。
- : 新的长度,以字节为单位,
返回值
无(undefined)。
异常
TypeError- : 如果当前的
SharedArrayBuffer不可增大,则抛出该异常。
- : 如果当前的
RangeError- : 如果
newLength大于当前SharedArrayBuffer的 {{jsxref("SharedArrayBuffer/maxByteLength", "maxByteLength")}} 或小于 {{jsxref("SharedArrayBuffer/byteLength", "byteLength")}},则抛出该异常。
- : 如果
描述
grow() 方将 SharedArrayBuffer 增大到 newLength 参数指定的大小,前提是 SharedArrayBuffer 是可增大的,并且新的大小小于等于当前 SharedArrayBuffer 的 {{jsxref("SharedArrayBuffer/maxByteLength", "maxByteLength")}}。新字节被初始化为 0。
示例
使用 grow()
在这个示例中,我们创建一个 8 字节缓冲区,该缓冲区可调整大小到的最大长度是 16 字节,然后检查其 {{jsxref("SharedArrayBuffer/growable", "growable")}} 属性,如果 growable 返回 true,则将其增大:
const buffer = new SharedArrayBuffer(8, { maxByteLength: 16 });
if (buffer.growable) {
console.log("SAB 是可增大的!");
buffer.grow(12);
}