【发布时间】:2020-11-25 08:39:05
【问题描述】:
所以下面的代码将显示我正在尝试从文件中读取 athelets 和部门。
一个部门有一个运动员列表,所以首先我想映射该部门的每个运动员并将该运动员列表分配给该部门。控制台日志显示以下内容:假设每个部门有 5 名运动员。
所以我希望console.log("TEST_1") 打印 5 次,console.log("TEST_2") 打印 1 次,所有这些都针对每个部门。
var array1 = [];
await Promise.all(departaments.map(async dp => {
array1 = [];
await Promise.all(athletes.map(async at => {
var athlete = new Athlete();
athlete.name = at.name;
athlete.weight = at.weight;
array1.push(athlete._id);
athlete.save();
console.log("TEST_1");
})).then(() => {
var dep = new Department();
dep.name = dp.name;
Object.assign(dep.athletes, array1);
dep.save();
console.log("TEST2");
});
})).then(async () => {
............not relevant..............
}
但这段代码的作用是:打印所有“TEST_1”,然后才打印“TEST_2”,因此它将最后 5 名运动员放在所有部门。
我尝试更改 async 和 await 但它不起作用...
你能帮帮我吗?
【问题讨论】:
标签: javascript node.js promise async-await es6-promise