记录 Nodejs 异步碰到的问题
须要先将订单 id 查出,再依据订单 id 查问订单详情
public async queryOrder() {
const sql = `select id, total from tbl_orderlines`;
const res = await this.app.mysql.query(sql);
const {ctx} = this;
async function awaitTest() {
// 使用到 promise.all 办法,顺次将 map 失去的 promise 获取值
await Promise.all(res.map(async item => {item.orderlines = await ctx.service.test.queryDetails(item.id);
return item;
}));
}
await awaitTest();
return res;
}