1
私は.map
を使用して新しいオブジェクトをマップし、古い価格を地図に追加します。私は非同期/ここに、私のデータマップで待つを使用しています約束{<pending>} - .mapを待ちます。
は私のコードは次のようになります。
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
は、過去24時間で見られる価格の変化のすべてです。
last
には、特定の製品の価格が変更された前の時刻が含まれています。
return products
は待機していないので、Promise { <pending> }
という迷惑メールが届きます。私がconsole.log(last)
を使用している場合、内部で動作していますが、リターンを遅くする正しい方法を理解できません。
products.diff = last.price
は、これを有効にするために必要なものです。何か案は?
もちろん!ありがとう、完璧に動作します。私は待っている時間を持っている、私は答えられた質問としてあなたを入れます。 –
@MilesCollier問題ありません:) –