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);
// 执行异常处理逻辑
}