从函数中检索值返回undefined

时间:2018-06-06 10:59:32

标签: javascript node.js mongodb reactjs express

下面是我编写的一个函数,它生成一个随机字符串,该字符串被传递给'generatedHash'变量。然后我试图在数据库中找到哈希,如果它不存在它应该返回生成的哈希,如果它确实存在,它应该再次运行相同的函数,直到它生成一个尚未生成的哈希存在。但是,每次运行它都会返回undefined。我使用getAvailableHash函数的方法是在创建将通过Mongoose保存到Mongo数据库的对象时直接将其作为哈希字段的值调用。

const getAvailableHash = () => {
const generatedHash = randomstring.generate({
    length: 10,
    charset: 'alphanumeric'
  });

  // Check if hash exists
  Link.findOne({ hash: generatedHash }).then(retrieveHash => {
    if (!retrieveHash) {
      return generatedHash;
    } else {
      getAvailableHash();
    }
  });
};

我尝试为此找到一个解决方案并听到人们谈论在callback()函数中包装我想要返回的项目,但我也尝试过这个并且它对我不起作用。任何指导我正确方向的帮助将不胜感激。谢谢!

0 个答案:

没有答案