gpt4 book ai didi

javascript - 如何在 async/await 中的另一个 promise 中编写一个 promise

转载 作者:行者123 更新时间:2023-12-02 21:28:26 25 4
gpt4 key购买 nike

我对 Node.js 很陌生,我正在尝试为 async/await 中的“获取所有用户”页面构建分页功能。但我似乎遇到了障碍,经过广泛的研究(这里、其他来源甚至教程),我仍然无法找到解决方案。我见过的所有解决方案都向我展示了如何做到这一点。这是代码:

mongoOp.countDocuments({},function(err,totalCount) {
if(err) {
response = {"error" : true,"message" : "Error fetching data"}
}
mongoOp.find({},{},query,function(err,data) {
// Mongo command to fetch all data from collection.
if(err) {
response = {"error" : true,"message" : "Error fetching data"};
} else {
var totalPages = Math.ceil(totalCount / size)
response = {"error" : false,"message" : data,"pages": totalPages};
}
res.json(response);
});
});

我已经弄清楚如何在 async/await 中编写 countDocuments() 和 find() 函数来生成结果,如下发送正确的 json 响应:

countDocuments() 函数

 try {
totalDocs = await mongoOp.countDocuments();
return res.status(200).json({totalDocs})
} catch (err) {
return res.send(err)
}
};

find() 查询:

try {
const users = await mongoOp.find({}, {}, query);
return res.status(200).json({
status: users
});
} catch (error) {
return res.status(400).send(error);
}

但是,我不知道如何将它们组合在一起以产生所需的结果。如果我能得到帮助,我将不胜感激。

最佳答案

您似乎正在寻找

try {
const totalCount = await mongoOp.countDocuments();
const totalPages = Math.ceil(totalCount / size)
const data = await mongoOp.find({}, {}, query);
return res.status(200).json({"error":false, "message":data, "pages":totalPages});
} catch (err) {
return res.status(500).json({"error":true, "message":"Error fetching data"});
}

关于javascript - 如何在 async/await 中的另一个 promise 中编写一个 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60677970/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com