一尘不染

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

node.js

我正在使用Mocha / Chai对一个库进行单元测试,该库最近开始使用nodejs的Buffer对象解决另一个问题。

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

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的Buffer …的地方

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

我找不到polyfill或变通办法,因此非常感谢您的建议。

谢谢


阅读 255

收藏
2020-07-07

共1个答案

一尘不染

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

Buffer.from
在6.0.0版中引入

为了使Buffer对象的创建更可靠且更不易出错,新的Buffer()构造函数的各种形式已被弃用,并由单独的Buffer.from(),Buffer.alloc()和Buffer.allocUnsafe()方法代替。

早期版本的文档中没有引用此方法。

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

new Buffer(str[, encoding])
2020-07-07