【发布时间】:2020-08-21 17:15:49
【问题描述】:
async function sellerSelection() {
let selectedSellerArray = [];
await orders.forEach(async (order) => {
let orderItems = await orderItemsObj.findMany({
where: { order_id: order.id, status: "created" },
});
console.log(orderItems.length, "order items");
orderItems.forEach(async (orderItem) => {
const sellerSelect = await _calculateHighProfitSeller(
order.id,
orderItem
);
selectedSellerArray.push(sellerSelect.seller_id);
});
});
setTimeout(() => {
console.log(selectedSellerArray, "selectedSellerArray");
}, 1000);
}
大家好,我正在学习nodejs,并没有正确掌握 里面有异步的东西。所以,在上面的代码中,如果我不使用 setTimeOut(),_calculateHighProfitSeller() 不会返回 值足够快,但代码无论如何都会执行,所以我得到一个空的 任何事物。我想要做的是执行 setTimeOut() 中的代码 仅在 _calculateHighProfitSeller() 调用返回其所有 价值观。
【问题讨论】:
-
await orders.forEach没有意义await Promise.all(orders.map...) -
@YuryTarabanko 好的先生,我也试试这个,谢谢
-
@YuryTarabanko 但是我如何通过这样做得到
sellerSelect数组,先生。能详细点吗,谢谢
标签: javascript node.js async-await