假设我在Node.js中有一个简单的缓冲区,如下所示:
const bytes = Buffer.from('abcdefg');
Run Code Online (Sandbox Code Playgroud)
这个缓冲区实例有slice和concat作为方法,但我真的不知道如何使用这些来基本上创建数组的pop/shift/splice的功能.
这里是缓冲区文档:https://nodejs.org/api/buffer.html
我基本上要做的是读取/删除前X个字节,如下所示:
function read(x){
// return the first x number of bytes from buffer
// and remove those bytes from the buffer
// side-effects be damned for the moment
}
Run Code Online (Sandbox Code Playgroud)
这就是我所拥有的,但它对我来说似乎很"错误",即使它似乎也有效:
let items = Buffer.from('abcdefg');
function read(x){
const b = items.slice(0,x);
items = items.slice(x,items.length);
return b;
}
console.log(String(read(4)));
console.log(String(items));
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法吗?
另外,我不确定读取是否是正确的单词,但pop会意味着一个数组...使用描述这个函数的功能是什么?