使用webdriver.io创建两个缓冲区,执行此操作:
let screenshot = new Buffer(res.value, 'base64')
然后运行以下检查:
console.log('ss1 instanceof Buffer', ss1 instanceof Buffer);
console.log('ss2 instanceof Buffer', ss2 instanceof Buffer);
console.log('ss1 isBuffer', Buffer.isBuffer(ss1));
console.log('ss2 isBuffer', Buffer.isBuffer(ss2));
ss1.equals(ss2);
输出
ss1 instanceof Buffer true
ss2 instanceof Buffer true
ss1 isBuffer true
ss2 isBuffer true
TypeError: argument should be a Buffer
at TypeError (native)
at Buffer.equals (buffer.js:371:18)
如果我在终端中创建两个Buffers,x.equals(y)将返回一个布尔值,如预期的那样。
导致这种情况的原因是什么?