SharedArrayBuffer.prototype.grow()
åºçº¿
2024
æè¿å¯ç¨
èª July 2024 èµ·ï¼æ¤ç¹æ§å·²å¨ææ°æµè§å¨ä¸å¾å°æ¯æãä½å¨è¾æ§çè®¾å¤ææµè§å¨ä¸å¯è½æ æ³è¿è¡ã
SharedArrayBuffer å®ä¾ç grow() æ¹æ³å° SharedArrayBuffer å¢å¤§å°ä»¥åè为åä½çæå®å¤§å°ã
è¯æ³
grow(newLength)
åæ°
newLength-
æ°çé¿åº¦ï¼ä»¥åè为åä½ï¼
SharedArrayBufferè°æ´åç大å°ã
è¿åå¼
æ ï¼undefinedï¼ã
å¼å¸¸
TypeError-
妿å½åç
SharedArrayBufferä¸å¯å¢å¤§ï¼åæåºè¯¥å¼å¸¸ã RangeError-
妿
newLength大äºå½åSharedArrayBufferçmaxByteLengthæå°äºbyteLengthï¼åæåºè¯¥å¼å¸¸ã
æè¿°
grow() æ¹å° SharedArrayBuffer å¢å¤§å° newLength åæ°æå®ç大å°ï¼åææ¯ SharedArrayBuffer æ¯å¯å¢å¤§çï¼å¹¶ä¸æ°ç大å°å°äºçäºå½å SharedArrayBuffer ç maxByteLengthãæ°åè被åå§å为 0ã
示ä¾
>ä½¿ç¨ grow()
å¨è¿ä¸ªç¤ºä¾ä¸ï¼æä»¬å建ä¸ä¸ª 8 åèç¼å²åºï¼è¯¥ç¼å²åºå¯è°æ´å¤§å°å°çæå¤§é¿åº¦æ¯ 16 åèï¼ç¶åæ£æ¥å
¶ growable 屿§ï¼å¦æ growable è¿å trueï¼åå°å
¶å¢å¤§ï¼
const buffer = new SharedArrayBuffer(8, { maxByteLength: 16 });
if (buffer.growable) {
console.log("SAB æ¯å¯å¢å¤§çï¼");
buffer.grow(12);
}
è§è
| è§è |
|---|
| ECMAScript® 2027 Language Specification> # sec-sharedarraybuffer.prototype.grow> |