Promise相关

1、子组件的正则在父组件中进行校验

// A组件的输入框在B页面校验:
A:
    validateForm() {
      return this.$refs.form.validate().then((valid) => {
        return valid;
      });
    },
B:
    saveForm() {
      let valid = this.$refs.A.validateForm();
      Promise.all([valid])
        .then(() => {})
        .catch(() => {
          this.$message({
            message: '请完善信息',
            type: 'warning',
          });
        });
    },
        

2、//A组件请求成功后,执行B组件内的请求

 A:
    detailSave() {
      return new Promise((resolve, reject) => {
        forwardInfoSave(this.form).then((res) => {
          if (res.code === 1) {
            resolve();
          } else {
            reject();
          }
        });
      });
    },	
B:
     let tempInfo = this.$refs.A.detailSave();
     Promise.allSettled([tempInfo])
       .then(() => {
         // debugger;
         forward(this.queryForm).then((res) => {
           this.$message.success(res.msg);
           const from = this.$route.query.from;
           if (from) {
             this.$router.push(from);
           }
         });
       })
       .catch(() => {
         this.$message.error(
           '由于公文系统接口异常,无法进行转发,请刷新后重试!'
         );
       });

3.try ... catch()

//如果在 try 块中包含一个被拒绝(rejected)的 Promise,那么执行流程会立即跳转到 catch 块,并执行其中的逻辑。
try {
  const rejectedPromise = Promise.reject("Error occurred");
  console.log("这行代码不会执行");
} catch (error) {
  console.log("捕获到了错误:", error);
  // 执行异常处理逻辑
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值