首页 > 其他分享 >关注作者 ,取消关注作者

关注作者 ,取消关注作者

时间:2022-10-16 10:22:47浏览次数:38  
标签:关注 请求 取消 articleInfo 发送 作者 按钮

使用场景:登录,一直点击登录按钮,发送了很多的请求 ; 抢购 ; 关注,取消关注行为 ; 操作多次,必须要等待请求结果后在执行下一次

解决办法:节流 ;

设置变量 isLoading 控制发送请求的次数 ,这一次的请求结果没有返回就不会发送下一次的请求 ;

html :

  <van-button
            v-if="articleInfo.is_followed"
            class="follow-btn"
            round
            size="small"
            @click="clickHandler"
            :loading="loading"
            >已关注</van-button
          >
          <van-button
            v-else
            :loading="loading"
            class="follow-btn"
            type="info"
            color="#3296fa"
            round
            @click="clickHandler"
            size="small"
            icon="plus"
            >关注</van-button
          >
按钮的loadign未false 的时候是加载转圈圈状态此时按钮是静止点击的,所以不能发送请求 ;
   // 取消,关注作者
    async clickHandler() {
      // console.log("发送");
      /**
       * 按钮的loadign未false 的时候是加载转圈圈状态此时按钮是静止点击的,所以不能发送请求
       */
      this.loading = true;
      try {
        if (this.articleInfo.is_followed) {
          // 已关注,则取消
          await delFollowAuthorApi(this.articleInfo.aut_id);
        } else {
          // 未关注,要关注
          await getFollowAuthorApi({
            target: this.articleInfo.aut_id,
          });
        }
// 跟新视图(按钮的显示状态) this.articleInfo.is_followed = !this.articleInfo.is_followed; } catch (error) { console.log(error); // 请求失败 this.$toast.fail("请求失败"); } this.loading = false; },

 

 切换到慢 3 g 网络查看 ;

 

 

 

 

 把关注、取消关注作者封装一个组件 ; 

components 的区分 : 多个页面使用的组件,和一个页面使用的组件(为了便于维护)

 

 

 

标签:关注,请求,取消,articleInfo,发送,作者,按钮
From: https://www.cnblogs.com/zhulongxu/p/16795671.html

相关文章