描述:
工作中遇到的,记录下。需求是listSaleSendOrderDetail方法请求到数据A后,因为数据不全,想要通过A中的数据继续请求其他的数据填充A。所以下面有个循环去调用getSaleOrderCode方法中getSaleOrderByDetailId请求拿新的数据B。并且拿到B后填充到A中。
因为是编辑页面这些东西都是要在页面刚进入初始化就要做完的,所以这两个请求有一个异步的问题,我也是在网上找的方法,但还是出现了问题就一点一点调,下面标出关键点。
created() { listSaleSendOrderDetail(this.$route.query.id).then( async response => { this.initTable(); for (let i = 0; i < response.length; i++) { response[i].inputQty = response[i].qty; response[i].qty = response[i].segment; let result = await this.getSaleOrderCode(response[i].saleOrderDetailId); response[i].saleOrder = result; let obj = { inputQty: response[i].inputQty, left: response[i], } this.dataList.push(obj); } }); }, methods: { getSaleOrderCode(id) { if (id != null) { return new Promise((resolve, reject) => getSaleOrderByDetailId(id).then(res=>{resolve(res)}) .catch(err => {console.log(err) }) ); } }, },