这段代码产生以下示例输出:
buf = new Buffer( end - start );
console.log(buf.length);
console.log(data.length);
console.log(start);
console.log(end);
data.copy( buf, 0, start, end );
拳头电话:
3732395 // buf.len
3732395 // data.len
0 // start
3732395 // end
第二个电话:
29611 // buf.len
3732395 // data.len
3702784 // start
3732395 // end
RangeError: sourceEnd < sourceStart
at Buffer.copy [..]
似乎所有参数都很好。特别是起始值和结束值不符合错误消息。 我在这里做错了什么?
答案 0 :(得分:0)
令人尴尬地,我将strings
作为参数传递,但没有产生预期的结果。
Buffer.copy
(v0.10.28
)内的此调用会将this.offset
附加到我的字符串,从而导致错误被抛出。
return this.parent.copy(target.parent || target,
target_start + (target.offset || 0),
start + this.offset,
end + this.offset);