假设一个班有 3 个同学,每个同学都有三科成绩,分别是语数英,我们可以写成这样的数据结构。
[
{
name: "小枪",
subjects: ["math", "chinese", "english"]
},
{
name: "小刀",
subjects: ["math", "chinese", "english"]
},
{
name: "小花",
subjects: ["math", "chinese", "english"]
}
]
我们现在需要用请求获取每个同学每科的成绩。这个时候应该怎么做呢?
代码如下:
async getResult(arr) {
const res = await Promise.all(
arr.map(student => {
const subjectsRequest = [];
student.subjects.forEach(subject => {
subjectsRequest.push(get(subject)/* 异步请求 */);
});
return Promise.all(subjectsRequest);
});
)
return res;
}
获取到的结果格式是:
[[91, 92, 93], [94, 95, 96], [97, 98, 99]]
一一对应小枪、小刀、小花的各科成绩。