在循环遍历中,调用axios,实现同步

forEach外部等待forEach内部的异步请求执行完成

<script>
import axios from "axios";
import { GetSecondFrom, GetSecondFromData, AddSecondFrom } from "@/api/Bpm";

export default {
  data() {
    return {
      Supplementfrom: {}, //获取表单
      all: [], //所有下拉框需要调用接口的集合----第一步
    };
  },

  methods: {
    GetSecondFrom() {
      // 二级表单渲染
      GetSecondFrom({ dataid: this.dataid }).then((res) => {
        this.Supplementfrom = res.data;
        if (res.data.dom.length > 0) {
          res.data.dom.forEach((ele, idx) => {
            if (ele.type === 7) {
                      //把所有请求的接口添加到一个数组中, 为了后期的同步-----第二步
                      this.all.push(
                        axios({
                          method: "get",
                          url: this.url,
                          headers: {
                            token: this.token,
                          },
                        }).then((re) => {
                          console.log(re.data.data, "接口");
                          v.attr = re.data.data;
                        })
                      );
            }
          });
          //所有都调用完成后,再调用其他接口-----第三步
          Promise.all(this.all).then(() => {
            // 表单数据
            GetSecondFromData({ dataid: this.dataid }).then((re) => {});
        }
      });
    },
  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值