在for循环中,想写一个异步请求数据的函数。因为异步的原因,循环完之后,请求数据只请求了for循环的最后一次,无法实现每次循环都调用一次数据请求。
但是本框架采用的是axios,也并未找到把异步请求改成同步的方法。所以采用递归的方式来实现。
(function loop(index) {
getLists({
province_id:id
}).then(res => {
if (res.code == 100) {
that.curCityLists=res.data;
if (++index < cityarr.length) {
loop(index);
} else {
console.log("全部执行完毕");
}
}
});
})(0);