[英]Module.exports function returns nothing Node.js
我創建了module.exports
函數,
const mongoose = require("mongoose");
const Loan = require("../models/loan_model");
function unpaidList() {
Loan.aggregate([
{
$group: {
_id: "$ePaidunpaid",
data: { $push: "$$ROOT" },
count: { $sum: 1 }
}
}
]).then(function(data){
console.log(data) // i am getting data here
return data;
})
}
module.exports = { unpaidList };
這就是我調用該函數的方式。
const unpaidListReq = require("../services/unpaidlist")
router.get("/", ensureAuthenticated,(req, res) => {
let data = unpaidListReq.unpaidList()
console.log(data)
res.render("dashboard", {
admin: req.user.eUserType,
user: req.user,
});
})
但是作為回報,當合並數據時,它返回undefined
。 我看了先前問的問題,但仍然明白了。
讓unpaidList
返回Promise
:
function unpaidList () {
return Loan.aggregate([
{
$group: {
_id: "$ePaidunpaid",
data: { $push: "$$ROOT" },
count: { $sum: 1 }
}
}
])
}
然后,您可以在處理程序中執行以下操作:
unpaidListReq.unpaidList().then(function (data) {
res.render("dashboard", {
admin: req.user.eUserType,
user: req.user
})
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.