Promessa {<pendendo>} - tentando aguardar .map
estou usando.map
para mapear um novo objeto e adicionar o preço antigo ao mapa.
Estou usando o Async / Await com meus mapas de dados, aqui está a aparência do meu código:
let datasets = await changes.map(async (data) => {
let products = {};
let last = await models.prices.findOne({
where: {
productId: data.productId,
sourceId: data.sourceId
},
order: [['createdAt', 'DESC']],
limit: 1,
offset: 1
});
products.name = data.product.name;
products.price = data.price;
products.sku = data.product.sku;
products.source = data.source.name;
products.link = data.link;
products.diff = last.price;
return products;
});
changes
são todas as alterações de preços encontradas nas últimas 24 horas.
last
contém a hora anterior em que uma alteração de preço foi encontrada para um produto específico.
oreturn products
não está esperando, então recebo um spam dePromise { <pending> }
mensagens. Se eu usar umconsole.log(last)
está funcionando por dentro, mas não consigo descobrir a maneira correta de retardar o retorno.
products.diff = last.price
é a única peça que precisa ser preenchida para que isso seja válido. Alguma ideia?