我想构建一个类似于NodeJS中的Buffer对象的对象。
function Header (type) {
this.type = type;
this.color = "red";
this.fromBuffer = function(b)
{
console.log(X);
};
}
var b = Buffer.alloc(16);
var hd = Header.fromBuffer(b);
此代码根本不起作用。 我想创建一个新的Header对象,该对象从Buffer加载数据。 这怎么可能?
谢谢!
答案 0 :(得分:1)
如果缓冲区包含JSON数据,则可以执行以下操作:
function Header (type) {
this.type = type;
this.color = "red";
this.fromBuffer = function(b)
{
var data = JSON.parse(b.toString());
this.type = data.type;
this.color = data.color;
return this;
};
return this;
}
var b = new Buffer.from(JSON.stringify({type:"1", color: "blue"}));
var hd = new Header().fromBuffer(b);
console.log(hd);
输出:
Header { type: '1', color: 'blue', fromBuffer: [Function] }
如果缓冲区中只有字符串数据(假设是颜色),则可以调用b.toString()
function Header (type) {
this.type = type;
this.color = "red";
this.fromBuffer = function(b)
{
this.color = b.toString();
return this;
};
return this;
}
var b = new Buffer.from("blue");
var hd = new Header(1).fromBuffer(b);
console.log(hd);