[英]Why this promise is always returning undefined instead of values
我的承諾有問題。 我正在嘗試從 Mongodb 數據庫中獲取數據,並將該數據返回到 function 之外。 mongodb function 被導出,我從另一個文件中調用 function 但我總是不確定。 這是如何管理的? 提前致謝!
帶有 mongo function 的文件:
const mongodb = require("mongodb").MongoClient;
const uri = process.env.DB_CONNECT;
const client = new mongodb(uri, { useNewUrlParser: true, useUnifiedTopology: true });
async function getPoliticians() {
const data = async () => await client.connect(async err => {
return await
client.db(process.env.DB).collection(process.env.DB_COLLECTION).find().limit(2).toArray()
});
return await data();
}
module.exports = getPoliticians;
使用 mongo function 調用的文件:
const router = require('express').Router();
const mongoF = require('../services/db');
router.get('/get', async (req, res, next) => {
console.log(await mongoF());
});
module.exports = router;
此控制台日志始終打印undefined
我的承諾有問題。 我正在嘗試從 Mongodb 數據庫中獲取數據,並將該數據返回到 function 之外。 mongodb function 被導出,我從另一個文件中調用 function 但我總是不確定。 這是如何管理的? 提前致謝!
帶有 mongo function 的文件:
const mongodb = require("mongodb").MongoClient;
const uri = process.env.DB_CONNECT;
const client = new mongodb(uri, { useNewUrlParser: true, useUnifiedTopology: true });
async function getPoliticians() {
const data = async () => await client.connect(async err => {
return await
client.db(process.env.DB).collection(process.env.DB_COLLECTION).find().limit(2).toArray()
});
return await data();
}
module.exports = getPoliticians;
使用 mongo function 調用的文件:
const router = require('express').Router();
const mongoF = require('../services/db');
router.get('/get', async (req, res, next) => {
console.log(await mongoF());
});
module.exports = router;
此控制台日志始終打印undefined
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.