Promise all的使用

 

 

//查询订单物流
            getExpressListById(expressId,callBack){
                //返回一个promise对象
                return new Promise((resolve, reject)=>{
                    this.$http('get', 'getExpressListById', {expressId:expressId}).then(res => {
                        callBack(res);
                        resolve();
                    }).catch(function(err) {
                        console.log(1, err)
                        reject();
                    });
                }); 
            },
            //查询订单退款商品
            getRefundOrderGoodsByOrderId(){
                this.$http('get', 'getRefundOrderGoodsByOrderId', {orderId:this.orderDetailList.order.id}).then(res => {
                    // console.log(res)
                    let allTask = [];//promise数组
                    res.forEach(g=>{
                        g.mallOrderGoodsRefund.expressId && allTask.push(this.getExpressListById(g.mallOrderGoodsRefund.expressId,expressList=>{g.expressList = expressList}))
                    });
                    console.log(allTask);
                    //Promise.all 执行allTask数组里的所有promise对象
                    Promise.all(allTask).then(()=>{
                        this.$forceUpdate()
                    });
                    this.refundOrderGoods = res;
                    console.log(this.refundOrderGoods,66)
                }).catch(function(err) {
                    console.log(1, err)
                });
            }

 

posted @ 2021-12-09 16:52  遇你温柔如初  阅读(118)  评论(0编辑  收藏  举报