Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 节点crypto.randomBytes从函数返回令牌_Javascript_Node.js_Token_Node Crypto - Fatal编程技术网

Javascript 节点crypto.randomBytes从函数返回令牌

Javascript 节点crypto.randomBytes从函数返回令牌,javascript,node.js,token,node-crypto,Javascript,Node.js,Token,Node Crypto,摘要 我有一个函数,其中我使用crypto.randomBytes生成一个令牌,但从该函数返回令牌时遇到问题。我想从createResetToken返回令牌。我的功能如下,我尝试了许多不同的方法,但都不起作用。任何帮助都将不胜感激 代码 function createResetToken() { crypto.randomBytes(20, function(err, buf) { const token = buf.toString("hex"); console.log(

摘要

我有一个函数,其中我使用crypto.randomBytes生成一个令牌,但从该函数返回令牌时遇到问题。我想从createResetToken返回令牌。我的功能如下,我尝试了许多不同的方法,但都不起作用。任何帮助都将不胜感激

代码

function createResetToken() {
  crypto.randomBytes(20, function(err, buf) {
    const token = buf.toString("hex");
    console.log("token inside inside", token);
    return token;
  });

}

最简单的方法是使用同步方式,只需不提供回调函数即可:

function createResetToken() {
  return crypto.randomBytes(20).toString("hex");
}
按文件:

如果提供了回调函数,则会生成字节 异步调用回调函数,并使用两个 参数:err和buf。如果发生错误,err将是一个错误 对象否则为空。buf参数是一个缓冲区,包含 生成的字节数

如果未提供回调函数,则随机字节为 同步生成并作为缓冲区返回。将出现错误 如果生成字节时出现问题,则引发


您想从createResetToken调用返回令牌吗?是!你明白了!:)那太好了!谢谢你的帮助,尤其是这么快!我会在4分钟内接受你的回答