在vue中使用for循环有异步请求,每次都只获取到最后一个数据解决办法
我预想是将标签数组(dynamicTags)使用for循环取出每个值,在遍历标签数组将值一一添加到数据库中,奈何for循环结束了,才去执行put请求,这就导致了只添了数组的最后一个值原因是axios.put请求是异步请求,解决方案,使用递归如下面代码所示,tag是一个数组用来存,标签dynamicTags是在页面中获取的标签名列表putTagItem(tag,articleId){var _thi
·
- 我预想是将标签数组(dynamicTags)使用for循环取出每个值,在遍历标签数组将值一一添加到数据库中,奈何for循环结束了,才去执行put请求,这就导致了只添了数组的最后一个值
- 原因是axios.put请求是异步请求,
- 解决方案,使用递归如下面代码所示,
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) ;
});
}
}
更多推荐
已为社区贡献1条内容
所有评论(0)