Отказ в соединении каждый раз (Node v11, Express v4) с fs.writeFile - PullRequest
0 голосов
/ 04 января 2019

Я изучаю создание узловых приложений. мое текущее приложение должно сохранять данные в формате JSON в файл. как только информация сохранена, я хотел перенаправить на домашнюю страницу. Но каждый второй раз, когда я использую fs.writeFile, я получаю сообщение о том, что в соединении было отказано. Что я делаю не так?

модель:

static addItemToCart(item_Id,item_price){
        return new Promise((resolve,reject)=>{
            getCartFileContent()
            .then(cart=>{

                const currentProducts = cart.cartProducts.map(item=>item.itemId);
                const cartContent = {...cart};

                if(!currentProducts.includes(item_Id)){

                    cartContent.cartProducts.push({
                        itemId: item_Id,
                        qty: 1
                    });

                    cartContent.totalPrice += parseFloat(item_price);
                    cartContent.totalPrice = +cartContent.totalPrice.toFixed(2);



                }else{

                    const indexToAddAt = cartContent.cartProducts.findIndex(item => item.itemId === item_Id);
                    cartContent.cartProducts[indexToAddAt].qty++;
                    cartContent.totalPrice += parseFloat(item_price);
                    cartContent.totalPrice = +cartContent.totalPrice.toFixed(2);

                };
                fs.writeFile(p,JSON.stringify(cartContent),(err)=>{
                    if(err){
                        return reject(err);
                    }else{
                        return resolve('product successfully added to cart');
                    };
                });
            });
        });
    };

контроллер:

exports.postAddToCart = (req,res,next) => {
    const itemToAdd = req.body.productId;
    const itemPrice = req.body.productPrice;

    Cart.addItemToCart(itemToAdd,itemPrice)
    .then(msg=>{
        console.log(msg);
        res.redirect('/home');
    })
    .catch(err=>{
        console.log(err);
    });
};

Функция выполняет запись в файл правильно, но каждый раз, когда я вызываю этот контроллер, соединение отклоняется, почему это так?

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...