Promise.all
接受一个 Promise 可迭代对象,因此如果要使用它来并行执行多个异步函数,你需要调用这些异步函数并使用返回的 Promise。直接将函数传递给 Promise.all
是不起作用的,因为它们不是 Promise--来自MDN
const validateForm = async (ref) => {
//表单校验本身返回的就是Promise对象
return await proxy.$refs[ref].validate((valid) => {
console.log(valid);
});
};
const RequiredData = async () => {
const check = await Promise.all([validateForm('refForm1'), validateForm('refForm2')]);
return check [0] && check [1];
};
const determine = async () => {
const check = await Promise.all([validateForm('refForm3'), validateForm('refForm4')]);
if (check [0] && check [1]) {
ElMessage.warning('校验通过');
} else {
ElMessage.warning('校验不通过');
}
};