- 我预想是将标签数组(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) ;
});
}
}