Boa tarde, pessoal.
Sou iniciante no Javascript e estou quebrando a cabeça com uma situação envolvendo Promises. Já pesquisei bastante, mas não encontrei nada que resolva a questão. Tenho um array contendo promises, onde cada promise precisa esperar a anterior finalizar. Ou seja, a promise na posição 1 do array só deverá executar quando a promise da posição 0 for resolvida (ou rejeitada). Preciso que seja desta forma porque a tarefa que cada promise executa não pode concorrer com as outras e a quantidade de promises no array pode variar (por isso, o array). O código abaixo executa todas as promises em paralelo. Eu preciso que seja encadeado. Sei que posso encadear o .then pra obter esse resultado, só não sei como fazer isso percorrendo um array.
// orderVerifiedAddresses é um array de objetos JSON recebidos de outra função.
let orderVerifiedClients = [];
Promise.all(orderVerifiedAddresses.map((order) => {
return new Promise((resolve, reject) => {
return validateOrder(order);
}).then(order => {
console.log('Cliente validado com sucesso. Vamos prosseguir.');
}).catch(error => {
console.log(error);
});
})).then(() => {
res.send(orderVerifiedClients);
});