文章预览
当一个提案进入到 Stage 4 时,意味着提案已经可以在多个浏览器、Node.js 上试用,并且这些运行时都已经完成语言合规测试。同时,这个提案将会被吸纳到下一个年度发布的 ECMAScript 版本中,如 ECMAScript 2023 等。 ArrayBuffer transfer 提案地址: proposal-arraybuffer-transfer [1] 这个提案为 ArrayBuffer 原型增加了两个新的方法 ArrayBuffer.transfer 和 ArrayBuffer.transferToFixedLength ,填补了对 buffer 所有权进行转移的能力。 当我们需要读写 buffer 时,需要禁止外部对 buffer 的写入: function validateAndWrite ( arrayBuffer ) { // Do some asynchronous validation. await validate(arrayBuffer); // Assuming we've got here, it's valid; write it to disk. await fs.writeFile( "data.bin" , arrayBuffer); } const data = new Uint8Array ([ 0x01 , 0x02 , 0x03 ]); validateAndWrite(data.buffer); setTimeout( () => { data[ 0 ]
………………………………