Javascript 已调用此类型的错误回调

Javascript 已调用此类型的错误回调,javascript,arrays,node.js,mongodb,mongoose,Javascript,Arrays,Node.js,Mongodb,Mongoose,我有这个问题,如果我的购物车长度超过2,那么显示错误“回调已被调用”,因此我知道我的错误在async.forEach,但我不知道如何修复它。有人能帮我改正错误吗?我希望能够在我的订单中显示两种以上的产品。当我有一个时,一切正常,但当我有两个或更多时,它会向我显示已调用回调的错误。我进行了更改,现在向我显示此错误:无法读取未定义的属性“push” router.post("/cart/paycash/add-order",(req,res)=>{ async.waterfall([

我有这个问题,如果我的购物车长度超过2,那么显示错误“回调已被调用”,因此我知道我的错误在
async.forEach
,但我不知道如何修复它。有人能帮我改正错误吗?我希望能够在我的订单中显示两种以上的产品。当我有一个时,一切正常,但当我有两个或更多时,它会向我显示已调用回调的错误。

我进行了更改,现在向我显示此错误:无法读取未定义的属性“push”
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");
        });
    });
function getCart(order,Cart,callback){
    console.log(Cart);
    async.forEach(Cart,function(product, callback){

        console.log(product);
        var productcall=product.title;
        var order1=order;
        callback(null,productcall,order1);
    }, callback);
},