У меня проблемы с обещаниями и foreach. Я хочу, чтобы внутри обещаний регистра foreach и после разрешения всех обещаний выполнялся некоторый код.
Я уже попробовал async / await, но не решил мою проблему, потому что каждая функция вызова должна быть асинхронной, поэтому я верю, что она будет решена с обещанием
// Исходный код.
async function (rotamed) {
console.log("Before.")
clientes.forEach(c => {
fc_paciente(rotamed,c)
fc_servico(rotamed,c)
especialidades.forEach(esp => {
fc_profissional(rotamed,c,esp)
})
})
console.log("After.")
}
Попробуйте решить с обещанием:
async function (rotamed) {
console.log("Before.")
let promises = []
clientes.forEach(c => {
promises.push(new Promise((resolve,reject) => {
fc_paciente(rotamed,c)
}))
})
console.log(promises)
Promise.all(promises).then((x) => console.log("After"))
}
Каждая функция вызова fc_paciente, fc_servico и fc_profissional должна быть асинхронной, а когда все решаются, я вызываю console.log («После»).