gpt4 book ai didi

node.js - 在 express js 路由中调用异步函数的正确方法

转载 作者:搜寻专家 更新时间:2023-10-31 23:23:19 24 4
gpt4 key购买 nike

我现在就是这样。但试图看看是否有正确或其他方法来做到这一点。

async function getmanual_vars(req, res,ajax){
var return_data = {};
let db = await mongo_client.connect(mongo_url);

let db_data = await db.collection('data').find({ created_by_user_id: req.cookies.user_id}).toArray();

// more codes inside //

res.json({ success: true});
}

router.post('/manual_vars', check_auth,function(req, res, next) {
getmanual_vars(req, res,0);
});

最佳答案

你可以这样做:

async function getmanual_vars(req, res) {
try {
var return_data = {};
let db = await mongo_client.connect(mongo_url);

let db_data = await db.collection('data').find({
created_by_user_id: req.cookies.user_id
}).toArray();

// more codes inside //

res.json({ success: true});
} catch (error) {
res.status(500).json({ success: false, error: error });
}
}

router.post('/manual_vars', check_auth, getmanual_vars);

这应该捕获状态为 500 的异步函数可能出现的错误和异常。

因为这已经是一个接受reqres 的函数,我们可以直接将函数本身传递给路由器,而不必围绕它创建一个包装器.

关于node.js - 在 express js 路由中调用异步函数的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48614785/

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