循环回调
1.循环回调
现在是是这种情况,有两个接口,有一个接口需要用到另一个接口返回数组中的一个属性作为参数。
有同学说,那你直接用第一个接口返回的数组遍历调用第二个接口不就好啦。。,但是您呢个保证返回的顺序吗。
显然是无法保证的。。
那咋办。
来喽来喽-。-
moduleRecommend({
uid: uidPub
}).then(res => {
console.log("17、金刚区模块列表和首页显示模块列表", res);
if (res.ret == 0) {
let asyncF = function(item, index) {
return new Promise(function(resolve, reject) {
courseList({
course_type: "", //1音频 2视频
module_id: item.module_id, //用户获取各模块课程列表
uid: uidPub,
page: 1,
pageSize: _this.pageSize
})
.then(res1 => {
console.log(
"17、金刚区模块列表和首页显示模块列表数组内容",
res1
);
item.children = res1.data.data;
resolve();
// console.log(newArr1)
})
.finally(() => {
console.log(index);
if (index == res.data.index_list.length - 1) {
console.log(
"res.data.index_list",
res.data.index_list
);
_this.homelist = res.data.index_list;
console.log(22222,_this.homelist)
}
});
});
};
let f = async function() {
for (let i = 0; i < res.data.index_list.length; i++) {
await asyncF(res.data.index_list[i], i);
}
};
f();
}
});