gpt4 book ai didi

javascript - 如何使用异步重构 Node js 代码并避免回调 hell

转载 作者:太空宇宙 更新时间:2023-11-04 03:28:03 27 4
gpt4 key购买 nike

我对 Node 相对较新,并且正在尝试了解如何异步或 promise 或任何使我的代码更好的内容。这是我的代码示例

router.post('/delete', function (req, res) {
var bus_id = req.body.selected[0];
Bus.remove({_id: bus_id}, function (err) {
if (err) {
res.json({status: "error", message: "please enter a valid bus_id"});
} else {
User.remove({refid:bus_id},function(err){
if (err) {
res.json({status: "error", message: "bus user wasn't deleted"});
return;
} else {
res.json({status: "success",message: "bus and bus user were deleted"});
}
});
}
});
});

我读到了有关异步和 promise 的内容,应用到我的代码的最佳方法是什么?

最佳答案

我个人会选择 Promise。它可能看起来像这样。

router.post('/delete', function (req, res) {
var bus_id = req.body.selected[0];

Bus.remove({_id: bus_id}).exec().then(function(bussRemoved) {
return User.remove({refid: bus_id}).exec();
}).then(function(userRemoved) {
res.json({status: "success",message: "bus and bus user were deleted"});
}).catch(function (err) {
res.json({status: "error", message: "please enter a valid bus_id"});
});
});

关于javascript - 如何使用异步重构 Node js 代码并避免回调 hell ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41958165/

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