[英]Node crypto.randomBytes return token from function
摘要
我有一个函数,在该函数中我使用crypto.randomBytes生成令牌,但无法从该函数返回令牌。 我想从createResetToken返回令牌。 我的功能在下面,我尝试了许多不同的操作,但是它们无法正常工作。 任何帮助将不胜感激!
码
function createResetToken() {
crypto.randomBytes(20, function(err, buf) {
const token = buf.toString("hex");
console.log("token inside inside", token);
return token;
});
}
最简单的方法是使用randomBytes()的同步方式,您可以通过不提供回调函数来实现:
function createResetToken() {
return crypto.randomBytes(20).toString("hex");
}
通过文档:
如果提供了回调函数,则会异步生成字节,并使用两个参数err和buf调用回调函数。 如果发生错误,err将是一个Error对象; 否则为null。 buf参数是一个包含生成的字节的缓冲区。
...
如果未提供回调函数,则随机字节将同步生成并作为Buffer返回。 如果生成字节有问题,将引发错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.