我尝试在 Node 中使用 Argon2 加密,但是当我尝试加密字符串时,出现此错误:
无法读取未定义的属性“catch”
我已尝试处理 argon2.hash
函数返回的 Promise 中的错误,但仍然不起作用。
这是我到目前为止的代码:
argon2.hash('password', {type: argon2.argon2id})
.then(hash => {
// do something with the hash
}).catch(err => {
// Handle the error
});
有人可以帮我解决这个错误吗?
最佳答案
就我而言,我收到该错误消息是因为我
a) 监视某些异步方法
spyOn(sut,'myAsyncMethod')
b) 后来将 .catch() 附加到原始方法调用中,但忘记扩展 spy 以返回值/ promise 。
返回 spy 的 promise 解决了我的问题:
spyOn(sut,'myAsyncMethod').and.returnValue(new Promise(resolve=>resolve()));
关于node.js - 无法读取未定义的属性 'catch',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55669942/