async,await异步操作同步化执行

async,await异步操作同步化执行

需求:打开编辑弹窗时触发一个获取数据的请求a,然后用获取到的数据再触发三个接口b,c,d,之后将最后这三个接口返回的数据和第一个a匹配后渲染到页面。

a接口里面依次执行完b,c接口后,才执行,2222,3333打印

/** 打开表单弹窗 */
function openDialog(clientId?: string) {
  dialog.visible = true;
  if (clientId) {
    dialog.title = "修改";
    //a接口
    ClientAPI.getClient(clientId).then(async (data) => {
       //b接口
      await ClientAPI.queryCityAll(data.provinceId as number).then(async (data) => {
        await new Promise((resolve, inject) => {
          cityAllList.value = data;
          console.log(data, "shi");
          resolve(1);
        });
      });
       console.log(1111);
      //c接口
      await ClientAPI.queryCountyAll(data.cityId as number).then(async (data) => {
        await new Promise((resolve, inject) => {
          countyAllList.value = data;
          console.log(data, "qu");
          resolve(1);
        });
      });
      console.log(2222);

      formData.clientId = data.clientId;
      formData.provinceId = data.provinceId;
      formData.cityId = data.cityId;
      formData.countyId = data.countyId;
      formData.otherAddress = data.otherAddress;
      console.log(3333);
    });
  } else {
    dialog.title = "新增";
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值