获取TypeError:这不是使用mocha中的Buffer.from的类型化数组

时间:2016-04-27 20:08:01

标签: node.js mocha

我使用Mocha / Chai对最近开始使用nodejs'的库进行单元测试。缓冲对象来解决不同的问题。

我在单元测试中收到此错误消息:

TypeError: this is not a typed array. 
at Function.from (native) 
at Object.hashesMatch (index.js:29:18
at Context.<anonymous> (test/test.js:25:22)

index.js的第29行是我使用nodejs&#39;的地方。缓冲...

var b = Buffer.from ('some string or other');

我无法找到填充物或解决方法,所以会感激建议。

由于

3 个答案:

答案 0 :(得分:43)

您可能正在使用旧版本的Node.js.

版本6.0.0中的

Buffer.from was introduced

  

为了使Buffer对象的创建更可靠且更不容易出错,不推荐使用各种形式的新Buffer()构造函数,并将其替换为单独的Buffer.from(),Buffer.alloc()和Buffer.allocUnsafe。 ()方法。

在文件previous versions中没有提及此方法。

您可以更新到6.0.0或使用不推荐使用的构造函数API,它具有以下签名:

new Buffer(str[, encoding])

答案 1 :(得分:5)

我也遇到了同样的错误。你可以试试这个

var b = new Buffer('some string or other');

第二个参数是编码(可选)。默认情况下,编码为utf-8

答案 2 :(得分:0)

有时候很难更新节点版本,尤其是在生产环境中使用,因此另一种解决方案是

使用“ kafka-node”:“ 1.6.2” 或更小