首页 > 解决方案 > 函数返回未定义的值

问题描述

我有一个名为IsValidUrl()我需要的函数,它根据情况(假或真)返回一些值。但是在这个函数内部,我有另一个函数不允许将值传递给IsValidUrl().

var validUrl = await isValidUrl();

if (!validUrl) {
  console.log(validUrl); ** //validUrl is undefined**

  return res.status(404).send('not found');
}

function isValidUrl() {

  Post.findOne({
    url: req.params.path
  }, function(err, result) {
    if (err) {
      throw err
    } else if (!result) {
      return false
    } else {
      return true
    }
  })
}

如何将返回的值发送到IsValidUrl()

标签: javascriptnode.js

解决方案


function isValidUrl() {
  return new Promise((resolve, reject) => {
    Post.findOne({
      url: req.params.path
    }, function(err, result) {
      if (err) {
        reject(err);
      } else if (!result) {
        resolve(false);
      } else {
        resolve(true);
      }
    })
  })

}

推荐阅读