Promesa {<pendiente>} - Intentando esperar por .map
estoy usando.map
para mapear un nuevo objeto y agregar el precio anterior al mapa.
Estoy usando Async / Await con mis mapas de datos, así es como se ve mi 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
son todos los cambios de precios encontrados en las últimas 24 horas.
last
contiene la vez anterior en que se encontró un cambio de precio del producto en particular.
losreturn products
no está esperando, así que recibo un spam dePromise { <pending> }
mensajes Si uso unconsole.log(last)
funciona por dentro, pero no puedo encontrar la forma correcta de frenar el retorno.
products.diff = last.price
es la pieza que se debe completar para que esto sea válido. ¿Algunas ideas?