Подскажите, пожалуйста, как можно изменить статус отправки в действиях во vuex через некоторое время с использованием setTimeout?
У меня есть действие по отправки товара:
addProductToCart(context, {
productId,
colorId,
sizeId,
amount,
}) {
context.commit('updateAddLoading', true);
context.commit('updateAddLoadingFailed', false);
context.commit('updateisAddLoadingEnded', false);
return axios.post('*************************', {
productId: productId,
colorId: colorId,
sizeId: sizeId,
quantity: amount,
}, {
params: {
userAccessKey: context.state.userAccessKey,
},
})
.then((response) => {
context.commit('updateProductsCartData', response.data.items);
context.commit('syncProductsCart');
})
.catch(() => {
context.commit('updateAddLoading', false);
context.commit('updateAddLoadingFailed', true);
})
.finally(() => {
context.commit('updateAddLoading', false);
context.commit('updateisAddLoadingEnded', true);
});
},
Мне необходимо, чтобы 'updateisAddLoadingEnded' поменялся на false, к примеру, через 3 секунды, чтобы убрать блок с информацией о добавлении товара:
<div style="padding-top: 10px;" v-if="isAddLoadingEnded">Товар добавлен в корзину</div>
Пытался прописать setTimeout сразу после того как изменяю 'updateisAddLoadingEnded' на true:
.finally(() => {
context.commit('updateAddLoading', false);
context.commit('updateisAddLoadingEnded', true);
setTimeout(context.commit('updateisAddLoadingEnded', false), 3000);
});
Но блок просто не появляется тогда