在vue中使用for循环有异步请求,每次都只获取到最后一个数据解决办法

2023-11-12

  1. 我预想是将标签数组(dynamicTags)使用for循环取出每个值,在遍历标签数组将值一一添加到数据库中,奈何for循环结束了,才去执行put请求,这就导致了只添了数组的最后一个值
  2. 原因是axios.put请求是异步请求,
  3. 解决方案,使用递归如下面代码所示,
    tag是一个数组用来存,标签
    dynamicTags是在页面中获取的标签名列表
  putTagItem(tag,articleId){
        var _this=this;
        
        if (tag<=0) {
          
        }else{
           _this.tag.articleId=articleId;
           _this.tag.tagName=_this.dynamicTags[tag-1];
            _this.$axios.put("http://localhost:8088/tags/addTag",_this.tag)
            .then(function (resp) {
             tag--;
             _this.putTagItem(tag,articleId) ;   
             });
        }
      }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在vue中使用for循环有异步请求,每次都只获取到最后一个数据解决办法 的相关文章

随机推荐