I create app in Vue.js, Node.js and MongoDB. I have a list of items with delete button next to each item. Generally it works, but once, for example 20 deletions, the deleted item stays in the list, although the list is initialized after each delete. After refreshing page manualy, deleted item is gone. How to fix it?
vue component:
methods: {
async initialize() {
return Service.getTool()
.then((response) => {
this.tools = response;
})
.catch((error) => {
this.handleError(error, this.errors);
})
.finally(() => {
});
},
async deleteItem(id) {
await Service.deleteTool(id);
await this.initialize();
},
}
service:
static async getTool() {
const res = await api.get('tool/get')
try {
return res.data;
} catch (err) {
return err;
}
}
static deleteTool(id) {
return api.delete(`${'delete'}/${id}`);
}
backend:
router.delete('/delete/:id', (req, res) => {
Tool.deleteOne({ _id: req.params.id }, function (err) {
if (!err) {
return res.json('Item has been deleted');
}
else {
res.status(500).send(err);
}
});
})