gpt4 book ai didi

node.js - Buffer.swap16 不是一个函数

转载 作者:太空宇宙 更新时间:2023-11-04 00:15:54 25 4
gpt4 key购买 nike

我在 NodeJS 中测试了一些缓冲区交换功能,但在我的 Meteor 项目中它不起作用。

谁能告诉我原因吗?

Node.js:

var CRC = new Buffer([0x20,0x40]);
console.log(CRC.swap16()); // OUTPUT: <Buffer 40 20>

Meteor.js

var CRC = new Buffer([0x20,0x40]);
console.log(CRC.swap16()); // OUTPUT: TypeError: CRC.swap16 is not a function

有人可以帮我吗?据了解,可能是版本问题。但目前我无法解决。

还有没有办法让这个东西与 meteor 一起运行?

最佳答案

Buffer.swap16() 5.10.0 中添加了方法,而 Meteor 使用 NodeJS 版本 4。

您可以从 NodeJS source 复制此方法实现,非常简单(只需稍作修改):

function swap(b, n, m) {
const i = b[n];
b[n] = b[m];
b[m] = i;
}

Buffer.prototype.swap16 = function swap16() {
const len = this.length;
if (len % 2 !== 0) {
throw new RangeError('ERR_INVALID_BUFFER_SIZE', '16-bits');
}
for (var i = 0; i < len; i += 2) {
swap(this, i, i + 1);
}
return this;
};

关于node.js - Buffer.swap16 不是一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47015992/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com