[英]What is the reason the Async function that I have below is returning Promise { <pending> } instead of returning the proper value?
当我从下面的代码中console.log()
paymentResults 和 pendingResults 时,我可以看到数据被正确记录。 但是,就在我尝试退还付款和待处理的最后一刻,我在后端看到结果为Promise { <pending> }
。 原因是什么,我该如何解决这个问题?
const query = await pool.query(q);
const payments = query.rows.filter(o => getCategory(o) === "payment");
const pending = query.rows.filter(o => getCategory(o) === "pending");
const inactive = query.rows.filter(o => getCategory(o) === "inactive");
const paymentsResults = payments.map(async order => {
const A = ({
date: getDate(order),
item: await getItem(order),
total: getTotal(order),
purchaser: getPurchaser(order),
email: getEmail(order),
paymentMethod: getPaidUsing(order),
status: getStatus(order)
});
return A;
});
const pendingResults = pending.map(async order => {
const B = {
date: getDate(order),
item: await getItem(order),
total: getTotal(order),
purchaser: getPurchaser(order),
email: getEmail(order),
status: getStatus(order)
};
return B;
});
return {
payments: paymentsResults,
pending: pendingResults,
inactive: inactive
};
};
const paymentsResults = await Promise.all(payments.map(async order => {
const A = {
date: getDate(order),
item: await getItem(order),
total: getTotal(order),
purchaser: getPurchaser(order),
email: getEmail(order),
paymentMethod: getPaidUsing(order),
status: getStatus(order)
};
return A;
}));
const pendingResults = await Promise.all(pending.map(async order => {
const B = {
date: getDate(order),
item: await getItem(order),
total: getTotal(order),
purchaser: getPurchaser(order),
email: getEmail(order),
status: getStatus(order)
};
return B;
}));
Promise.all
解析。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.