Node.js 函数返回空[对象承诺]

Node.js 函数返回空[对象承诺],node.js,express,Node.js,Express,我认为这个问题与async有关,但我无法res.send它只是作为[object Promise]发送的布尔值,当我在前端JSON.stringify它时,它是空的 const express = require("express"); var router = express.Router(); var ObjectId = require("mongoose").Types.ObjectId; const mongoose = require("mongoose"); var crypto

我认为这个问题与async有关,但我无法res.send它只是作为[object Promise]发送的布尔值,当我在前端JSON.stringify它时,它是空的

const express = require("express");
var router = express.Router();
var ObjectId = require("mongoose").Types.ObjectId;
const mongoose = require("mongoose");

var crypto = require("crypto");

var { User } = require("../models/users");

router.get("/", (req, res) => {

  // This logs "[object Promise] Please see here"
  console.log(go().then(function(result) {
    return result
  }) + ' Please see here');

  // This logs true
  go().then(function(result) {
    console.log(result)
  });

  // This returns [object Promise] to front end which is empty
  return res.send((go().then(function(result) {
    return result
  })));

  async function go() {
   doesUserExist = await User.exists({ email: req.query.email });
   return doesUserExist;
  }

});

module.exports = router;


因为go是一个异步函数,所以我相信您需要等待调用它的任何时候。大致如下:

const express = require("express");
var router = express.Router();
var ObjectId = require("mongoose").Types.ObjectId;
const mongoose = require("mongoose");

var crypto = require("crypto");

var { User } = require("../models/users");

router.get("/", async (req, res) => {

  // This logs "[object Promise] Please see here"
  console.log(await go().then(function(result) {
    return result
  }) + ' Please see here');

  // This logs true
  go().then(function(result) {
    console.log(result)
  });

  // This returns [object Promise] to front end which is empty
  return res.send((go().then(function(result) {
    return result
  })));

  async function go() {
   doesUserExist = await User.exists({ email: req.query.email });
   return doesUserExist;
  }

});

module.exports = router;

移动
res.send
里面然后
。啊,显然,我不知道为什么我没有想到这一点