【发布时间】:2018-05-01 00:05:42
【问题描述】:
router.post("/cart/paycash/add-order",(req,res)=>{
async.waterfall([
function getorder(callback){
req.checkBody("emri","Ju lutem vendosni emrin").notEmpty();
req.checkBody("mbiemri","Ju lutem vendosni mbiemrin").notEmpty();
req.checkBody("numritelefonit","Ju lutem vendosni numrin e telefonit").notEmpty();
req.checkBody("qyteti","Ju lutem vendosni qytetin").notEmpty();
var emri = req.body.emri;
var mbiemri = req.body.mbiemri;
var telefoni=req.body.numritelefonit;
var email = req.body.email;
var qyteti = req.body.qyteti;
var adresa =req.body.adresa;
var Cart = req.session.cart;
console.log(Cart);
Orders.find({},function(err,orders){
if(err){
callback(err,null);
return;
}
var order=new Orders({
emri:emri,
mbiemri:mbiemri,
telefoni:telefoni,
email:email,
qyteti:qyteti,
adresa:adresa,
products:[]
});
order.save();
callback(null,order,Cart);
});
},
function getCart(order,Cart,callback){
console.log(Cart);
async.forEach(Cart,function(product){
console.log(product);
var productcall=product.title;
var order1=order;
callback(null,productcall,order1);
});
},
function findProduct(order1,productcall,callback){
Products.findOne({title:productcall},function(err,prod){
if(err){
callback(err,null);
return;
}
order1.products.push(prod);
order1.save();
callback(null,order1);
});
}
],function(err,order1){
if(err){
console.log(err);
return;
}
delete req.session.cart;
delete req.session.promocode;
res.redirect("/dyqani");
});
});
我有这个问题,如果我的购物车长度超过 2 则显示错误“回调已被调用”,所以我知道我的错误在 async.forEach,但我不知道如何解决它.任何人都可以帮助我,以便我可以解决错误吗?我希望能够在我的订单中显示两个以上的产品。当我有一个时一切正常,但是当我有两个或更多时,它显示回调已被调用的错误。
【问题讨论】:
标签: javascript arrays node.js mongodb mongoose