У меня есть функция асинхронного секвенирования
async getTrips() {
let trips = await Trip.findAll({
order: [['id']]
});
const data = trips.map(trip => ({
...trip,
milestones: async () => await Milestone.findAll({
where: {
trips_id: trip.id
}
}),
vendor_charges: async () => await VendorCharge.findAll({
where: {
trips_id: trip.id
}
}),
trip_notes: async () => await TripNote.findAll({
where: {
trips_id: trip.id
}
}),
pieces: async () => await Pieces.findAll({
where: {
trips_id: trip.id
}
})
}))
return data
}
, который затем запускается в экспресс-маршрутизаторе
tripsRouter.get('/getAllTrips', (req, res) => {
const errors = validationResult(req)
if (!errors.isEmpty())
return res.status(422).json(errors.array())
tripsService.getTrips()
.then(trips =>
res.status(200).json({
exception: false,
payload: trips
})
);
})
это похоже на ошибку "Преобразование круговой структуры в JSON", когда она возникает
это стек ошибок:
(узел: 9322) UnhandledPromiseRejectionWarning: TypeError: Преобразование круговой структуры в JSON
в JSON.stringify ()
на o.getTrips.then.e (/home/sandra/development/lakefrontcargo-v2/dist/index.js:1:57753)
в
(узел: 9322) UnhandledPromiseRejectionWarning: необработанное отклонение обещания. Эта ошибка возникла либо из-за того, что внутри асинхронной функции возникла ошибка без блока catch, либо из-за отклонения обещания, которое не было обработано с помощью .catch (). (идентификатор отклонения: 1)
(узел: 9322) [DEP0018] Предупреждение об устаревании: отклонение необработанного обещания не рекомендуется. В будущем отклонения обещаний, которые не обрабатываются, завершат процесс Node.js с ненулевым кодом завершения.
[nodemon] перезапуск из-за изменений ...