Мне нужно, чтобы promises.then () выполнялся только после завершения Promise.all, однако firebase.database (), который должен выполняться только после разрешения набора обещаний, выполняется первым.
const finalizarAlbum = async () => {
setVisibleMod(false);
if (nome && email && telefone) {
const id = uuid();
const promises = Promise.all(
arrayPages.map((item, index) => {
firebase
.storage()
.ref(id)
.child(listaOrdemFotos[index])
.putFile(item)
.then((res) => {
objetoPaginas.push({
ordem: index,
pagina: arrayPages[index],
url: res.downloadURL,
});
setUnidade((unidade) => unidade + 1);
})
.catch((error) => setErro(erro));
})
);
promises.then(() => {
firebase
.database()
.ref('usuarios')
.child(id)
.set({
nome,
email,
telefone,
listaOrdemFotos: objetoPaginas,
})
.then(() => console.log('Enviado'))
.catch((error) => setErro(erro));
});
}
};