我正在学习构建节点应用程序。我当前的应用程序应该将JSON格式的数据保存到文件中。信息保存后,我想重定向到主页。但是每隔第二次我使用fs.writeFile都会在chrome上收到一条消息,提示连接被拒绝。我在做什么错了?
模型:
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);
});
};
该函数确实正确地写入文件,但是每当我第二次调用该控制器时,连接被拒绝,为什么?
谢谢。