电商项目实现购物车商品的全部删除

在一般的项目当中,是存在删除某个商品的请求接口的,然后我们需要去通过这个接口去实现将选中食物商品一起删除

①设置点击事件,派发Vuex里面的action里面的方法,使用异步的方法

  async deleteAll()
  {
    try {
   await this.$store.dispatch('shopcart/deleteAllCart');
     this.getData();
    } catch (error) {
      alert(error.message);
    }
  }
  },

②Vuexl里面actions里面的deleteAllCart方法,里面context是一个对象,为上下文对象,使用dispatch去调用actions里面的其他方法,得到都是一个promise,必须要所有的promise的状态是

成功的,所以使用Promise.all()这个方法,里面是多个promise,一般是一个数组,只有当这里面的promise都是成功,Promise.all()返回的才是成功的。

 deleteAllCart(context)
    {
        let PromiseAll = [];
        context.state.carLsit.forEach(element => {
            if(element.isChecked == 1)
            {
                let promise = context.dispatch('deteleCart',element.skuId);
                PromiseAll.push(promise);
            }
        });
        // all这个函数表示的是里面的每个promise都是成功才返回成功
        return Promise.all(PromiseAll);
    },

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值