[英]How to refactor nodejs code using asyn and avoiding callback hell
我對Node還是比較陌生,並且正在嘗試學習如何異步或答應或任何使我的代碼更好的方法。 這是我的代碼的示例
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"});
}
});
}
});
});
我讀過有關異步和承諾的信息,將其應用於代碼的最佳方法是什么?
我個人會去承諾。 它可能看起來像這樣。
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"});
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.