【发布时间】:2021-10-02 07:10:31
【问题描述】:
这是我的代码...
var schedule =new Schedule(
{
flightNumber: req.body.flightNumber,
status: req.body.status,
pickDateTime: req.body.pickDateTime,
});
if(req.body.passenger.length > 0){
await req.body.passenger.forEach(async function (data) {
var driver
await Driver.findOneAndUpdate({area:data.location_code,$expr: { $gt:["$vehicle_capacity", "$capacity_occupied"]}},{ $inc: { capacity_occupied: +1 } }).then((drivers) => {
driver = drivers._id
});
await schedule.passenger.push({
driver: driver,
dropLocation: req.body.dropLocation,
droplong: req.body.droplong,
picklong: data.long
})
});
}
console.log(schedule.passenger);
当我尝试访问异步函数内部的 schedule.passenger 时,它正在工作,但是当我尝试访问异步函数外部时,它不起作用。
【问题讨论】:
-
嗯,它与异步有关,我无法理解你为什么在数组函数中使用 await。我很好奇。
标签: javascript node.js mongoose async-await